Zde je několik základních příkazů Dockeru:
Viz také:https://github.com/wsargent/docker-cheat-sheet
Instalace nejnovějšího prostředí Docker v systému Linux:
curl -sSL https://get.docker.com/ | sh
Spusťte terminál dockeru v OSX
bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'
Informace: Názvy kontejnerů bez '/' v názvu odkazují na základní šablony veřejných kontejnerů
Názvy kontejnerů s '/' odkazují na uživatelské kontejnery ve formátu:username/BasicContainer
Názvy kontejnerů se ':' odkazují na tag, který se běžně používá jako podvracení základních/uživatelských kontejnerů
Vyhledejte obrázky v úložišti Internet Dockerdocker search ubuntu
Stáhněte si obrázek dockeru z internetu do místního úložištědocker pull ubuntu:14.04
Vypsat místní obrázky dockeru:docker images
Spusťte vlastní obrázek (myname/ubuntu:tmpl_1) na pozadí a dejte kontejneru název MyUbuntudocker run -itd --name=MyUbuntu myname/ubuntu:tmpl_1
Připojte se ke kontejneru, abyste v něm mohli pracovat (stiskněte 2 x Enter a získáte bash)docker attach MyUbuntu
Chcete-li opustit kontejner, aniž by byl automaticky zastaven:CTRL-P + CTRL-Q
Když je v kontejneru bash vydán příkaz ^D (neboli příkaz exit), kontejner se zastaví. Chcete-li jej restartovat, např.docker start MyUbuntu
Seznam spuštěných kontejnerůdocker ps
Výpis všech kontejnerů dockeru (spuštěné a zastavené)docker ps -a
Poznámky ke spuštěným kontejnerům:docker run -t -i
→ lze odpojit pomocí ^P^Q a znovu připojit pomocí ukotvitelného připojenídocker run -i
→ nelze odpojit pomocí ^P^Q; přeruší stdindocker run
→ nelze odpojit pomocí ^P^Q; může klient SIGKILL; lze znovu připojit pomocí ukotvitelného připojení
ŘEŠENÍ PROBLÉMŮ:
1) Pokud se po zadání příkazu docker zobrazí tato chybová zpráva:Error response from daemon: client is newer than server (client API version: x.xx, server API version: y.yy)
Pro synchronizaci jejich verzí stačí spustit následující příkaz:docker-machine upgrade
Vytvoření nového místního obrázku dockeru z obrázku vytaženého z veřejného (internetu)
#### Metoda COMMIT ####
Spusťte kontejner založený na tomto obrázkudocker run -t -i ubuntu:14.04 /bin/bash
Poznámka:Zapamatujte si ID kontejneru, které je ve výzvě bash (potřebné k vytvoření nového založeného na tomto)
např. root@ba7cbe2cd3ce:/# (ba7cbe2cd3ce je ID kontejneru)
Nainstalujte požadované softwarové balíčky (aktualizace apt-get &&instalace apt-get …. )
např. apt-get update &&apt-get -y upgrade; apt-get install mc ssh fail2ban nmap ngrep iftop iotop htop
Po dokončení zastavte kontejner odpojením od bash pomocíexit or ^D
Nyní uložte nový obrázek lokálně:docker commit -m "My special container template" -a "My Name" ba7cbe2cd3ce myname/ubuntu:v001
Tímto místně uložíte upravený kontejner jako nový obrázek s názvem:myname/ubuntu:v001
Zkontrolujte:docker images
#### Metoda 'Dockerfile'
Vytvořte adresář, ve kterém vytvoříte speciální soubor s názvem Dockerfile
kam budou zapsány pokyny, jak sestavit nový obraz.mkdir ubuntu_template_001
cd ubuntu_template_001
touch Dockerfile
mcedit Dockerfile
————– Obsah —————-# 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
– Uložte soubor a poté spusťte následující příkaz k vytvoření obrazu:docker build -t myname/ubuntu_template_001 .
Poznámka:'.' na konci příkazu říká, kde je soubor Dockerfile
Veškerý výstup instalace a ID obrázku se zobrazí na samém konci následovně:
—> 8578743d7b30
– Podíváme se na všechny vytvořené obrázky:docker images
Výsledek:
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
– Vidíme, že obrázek s ID 8578743d7b30 nemá název ani značku.
Nyní mu dáme název:tagdocker tag 8578743d7b30 myname/ubuntu:v002
– Znovu zkontrolujte seznam obrázků:docker images
Výsledek: 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
– Nyní můžeme spustit kontejner založený na tomto novém obrázkudocker run -it --name "Server2" myname/ubuntu:v002 bash -c 'service ssh start ; ifconfig eth0; bash'
Odstranění obrázku z místního úložištědocker rmi michel/ubuntu:v002
Odebrání kontejneru z místního dockerového systémudocker rm ContainerName
nebodocker rm ContainerID
Spuštění programu uvnitř běžícího, ale nepřipojeného kontejneru:docker exec -t -i ContainerName bash -c 'command'