Docker

Z Varhoo
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Základní příkazy)
(Kopírování docker image na jiný system)
 
(Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.)
Řádka 53: Řádka 53:
 
Build without cache - rebuild all project
 
Build without cache - rebuild all project
   
docker build -t ubuntu-test --no-cache=true .
+
docker build -t --no-cache=true ubuntu-test ./
   
 
if you want run with some port, then you can run following command
 
if you want run with some port, then you can run following command
Řá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
Osobní nástroje