Docker
(→Základní příkazy) |
(→Kopírování docker image na jiný system) |
||
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.) | |||
Řádka 59: | Řádka 59: | ||
docker -p 8000:80 -i run ubuntu-test |
docker -p 8000:80 -i run ubuntu-test |
||
− | === pomocné příkazy === |
+ | === Pomocné příkazy === |
− | Smazaní všech stáhnutých obrazů |
+ | Smazaní všech stažených obrazů |
+ | |||
+ | docker rmi $(docker images -qa) |
||
− | docker images | grep -v IMAGE | awk '{ print $3 }' | xargs docker rmi |
+ | |
+ | 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 ) |
||
+ | |||
+ | === 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