GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Alcuni comandi DOCKER

Ecco alcuni comandi di base di Docker:
Vedi anche:https://github.com/wsargent/docker-cheat-sheet

Installazione dell'ultimo ambiente Docker in Linux:

curl -sSL https://get.docker.com/ | sh

Avvia il terminale Docker in OSX

bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'

Informazioni: I nomi dei contenitori senza '/' nel nome si riferiscono a modelli di contenitori pubblici di base
I nomi dei contenitori con '/' si riferiscono ai contenitori degli utenti nel formato:username/BasicContainer
I nomi dei contenitori con ':' si riferiscono a un tag che viene normalmente utilizzato come sovversione dei contenitori base/utente

Cerca le immagini nel repository di Internet Docker
docker search ubuntu

Scarica un'immagine della finestra mobile da Internet nel repository locale
docker pull ubuntu:14.04

Elenca le immagini della finestra mobile locale:
docker images

Esegui un'immagine creata da te (myname/ubuntu:tmpl_1) in background dando al contenitore il nome MyUbuntu
docker run -itd --name=MyUbuntu myname/ubuntu:tmpl_1

Allega a un contenitore per lavorarci (premi 2 x Invio per ottenere bash in seguito)
docker attach MyUbuntu

Per uscire da un container senza che venga interrotto automaticamente:
CTRL-P + CTRL-Q

Quando viene emesso un ^D(o comando di uscita) in una bash del contenitore, il contenitore viene quindi arrestato. Per riavviarlo es.
docker start MyUbuntu

Elenca i contenitori in esecuzione
docker ps
Elencare tutti i contenitori della finestra mobile (in esecuzione e arrestati)
docker ps -a
Note sui contenitori in esecuzione:
docker run -t -i → può essere scollegato con ^P^Q e ricollegato con docker attach
docker run -i → non può essere staccato con ^P^Q; interromperà stdin
docker run → non può essere staccato con ^P^Q; può cliente SIGKILL; può ricollegarsi con Docker Attach

RISOLUZIONE DEI PROBLEMI:
1) Se viene visualizzato questo messaggio di errore dopo aver fornito un comando docker:
Error response from daemon: client is newer than server (client API version: x.xx, server API version: y.yy)
Esegui semplicemente il seguente comando per sincronizzare le loro versioni:
docker-machine upgrade

Creazione di una nuova immagine Docker locale dall'immagine tirata Public(Internet)
#### Il metodo COMMIT ####
Esegui il contenitore in base a questa immagine
docker run -t -i ubuntu:14.04 /bin/bash
Nota:ricorda l'ID contenitore che si trova nel prompt di bash (necessario per crearne uno nuovo basato su questo)
es. root@ba7cbe2cd3ce:/# (ba7cbe2cd3ce è l'ID contenitore)
Installa i pacchetti software desiderati (apt-get update &&apt-get install …. )
es. apt-get update &&apt-get -y upgrade; apt-get install mc ssh fail2ban nmap ngrep iftop iotop htop
Al termine, arresta il contenitore disconnettendosi da bash con
exit or ^D
Ora salva la nuova immagine in locale:
docker commit -m "My special container template" -a "My Name" ba7cbe2cd3ce myname/ubuntu:v001
Questo salverà localmente il contenitore modificato come nuova immagine denominata:myname/ubuntu:v001
Per controllare:
docker images

#### Il metodo 'Dockerfile'
Crea una directory in cui crei un file speciale chiamato Dockerfile
dove verranno scritte le istruzioni su come costruire la nuova immagine.
mkdir ubuntu_template_001
cd ubuntu_template_001
touch Dockerfile
mcedit Dockerfile

————– Contenuto —————-
# This is a comment
FROM ubuntu:14.04
MAINTAINER My Name <mmyname @mydomain.com>
RUN apt-get update && apt-get install -y mc ssh fail2ban nmap ngrep iftop iotop htop
RUN apt-get -y install postfix

– Salva il file ed esegui il comando seguente per creare l'immagine:
docker build -t myname/ubuntu_template_001 .
Nota:il '.' alla fine del comando indica dove si trova il Dockerfile
Ti verrà presentato tutto l'output dell'installazione e l'ID immagine alla fine come segue:
—> 8578743d7b30

– Diamo un'occhiata a tutte le immagini create:
docker images

Risultato:

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 8578743d7b30 3 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 20 minutes ago 318.6 MB

– Vediamo che l'immagine con l'ID 8578743d7b30 non ha un nome o un tag.
Ora gli diamo un nome:tag
docker tag 8578743d7b30 myname/ubuntu:v002

– Controlla di nuovo l'elenco delle immagini:
docker images
Risultato:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
myname/ubuntu v002 8578743d7b30 16 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 33 minutes ago 318.6 MB

– Ora possiamo eseguire un contenitore basato su questa nuova immagine
docker run -it --name "Server2" myname/ubuntu:v002 bash -c 'service ssh start ; ifconfig eth0; bash'

Eliminazione di un'immagine dal repository locale
docker rmi michel/ubuntu:v002

Rimozione di un container dal sistema Docker locale
docker rm ContainerName
o
docker rm ContainerID
Per eseguire un programma all'interno di un container in esecuzione ma non collegato:
docker exec -t -i ContainerName bash -c 'command'


Docker
  1. Un'introduzione a Docker

  2. Foglio di riferimento rapido per i comandi Docker

  3. Come eseguire MySQL in un contenitore Docker

  4. Come assegnare un IP statico a un contenitore Docker

  5. Come installare Vim in un contenitore Docker

Come eseguire PHPMyAdmin in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come configurare un container Docker Apache

Docker Exec:il tuo comando Goto per l'esecuzione di comandi in Docker

21 comandi essenziali che ogni utente Docker dovrebbe conoscere

Comandi Docker per la gestione del ciclo di vita dei container (Guida definitiva)