Docker

Z Varhoo
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Pomocné příkazy)
(Kopírování docker image na jiný system)
 
(Není zobrazena 1 mezilehlá verze od 1 uživatele.)
Řádka 82: Řádka 82:
   
 
docker rm $( docker ps -qa )
 
docker rm $( docker ps -qa )
  +
  +
=== Kopírování docker image na jiný system ===
  +
  +
docker save project > project.tar
  +
docker load -i project.tar
  +
docker images

Aktuální verze z 6. 2. 2017, 12:18

Jedná se o nadstavbu na linuxovými kontejnery pro které se užívá zkratka LXC. Jen pro ujasněné nejedná se o virtualizaci, myslím, že bližší přirovnání je něco jako chroot a virtualenv. Základní mechanismem je zkompilovaný image nad kterým spustím proces, proces běží v uzavřeném prostředí (kontejneru) ale proces je spuštěný jako jakýkoliv jiný. Takže nelze kontejner chápat jako samostatně běžící systém, ale spíše jej chápat jako proces běžící pod libovolnou distribucí.

[editovat] Základní příkazy

Základní instalace Pro Fedora 21:

yum install docker
service docker start


Systém nejprve stáhneme a pak jej spustíme příkazem:

docker pull ubuntu:latest
docker run -i ubuntu:latest /bin/bash

Parametr -i udává interaktivní mód, přitom pak -d nám spustí kontejner na pozadí jako deamona.

Seznam běžícíh kontejneru (parametr -a vypisuje všechny):

docker ps -a

Připojení na již vytvořený kontejner

docker start <container_id>
docker attach <container_id>

Smazání kontejneru (force parametrem -f)

docker rm <container_id>

Seznam stáhnutých obrazů

docker images

Smazání nacachevaného obrázku

docker rmi <image_id>


Je možné vytvořit soubor Dockerfile, který nám popisuje vlastnosti obrazu.

FROM ubuntu:latest

RUN apt-get update && apt-get install python-django
CMD /bin/bash

obraz zkompilujeme pomocí následujícího příkazu.

docker build -t ubuntu-test .


Build without cache - rebuild all project

docker build -t  --no-cache=true ubuntu-test ./

if you want run with some port, then you can run following command

docker -p 8000:80 -i run ubuntu-test

[editovat] Pomocné příkazy

Smazaní všech stažených obrazů

docker rmi $(docker images -qa)


Pokud chcete smazat jen některé je potřeba seznam obrazů vyfiltrovat <IMAGE>

docker rmi $(docker images  | grep -v <IMAGE> | awk '{ print $3 }' ) 

Příkaz jde použít i k promazání nekompletních buildů

docker rmi -f $( docker images -a | grep "<none>" | awk '{ print $3 }' )


Zastavení všech běžících kontejnerů

docker stop $( docker ps -q )

Smazání všech kontejnerů

docker rm $( docker ps -qa )

[editovat] Kopírování docker image na jiný system

docker save project > project.tar
docker load -i project.tar
docker images
Osobní nástroje