Docker

Z Varhoo
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(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
Osobní nástroje