Docker
(→Pomocné příkazy) |
|||
Řá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 |
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í.
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
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 )
Kopírování docker image na jiný system
docker save project > project.tar docker load -i project.tar docker images