docker.md 2.6 KB

Docker

Altri eseguiti per riprodurre un ambiente trigger farm:

I containers attivi:

docker ps

Tutti I container:

docker ps -a

Le immagini:

docker images

I container sono istanze di un'immagine

Lanciare un'immagine:

docker run --name='pippo' -d -i -t -p 57999:7999 -p 58080:8080 incandenza/triggerfarm2:0.2

Con nome "pippo" esponendo le porte 7999 su 57999 e 8080 su 58080 partendo dall'immagine incandenza/triggerfarm2:0.2

Mi aggancio ad container attivo di nome "pippo":

docker attach pippo

Faccio in esso modifiche ed esco con exit (lo uccido) oppure CTRL-P CRTL-Q per farne il detach. Per committare le modifiche sull'immagine. Il container è istanza di una precisa immagine, il commit prende il nome del container di cui si vogliono committare le modifiche per cui le modifiche vengono committate su quell'immagine:

docker commit -m "Pulizia dela tmp" -a "Lalo Cura" pippo triggerfarm2:0.3

Per fermare un container:

docker stop pippo

Per avviare un container:

docker start pippo

Poi esistono comandi come pause/unpause/kill/restar applicabili sempre ad un container parimenti ai due precedenti.

Rimozione di un container:

docker rm pippo

Rimozione di tutti i container:

docker rm `docker ps --no-trunc -aq`

Rimozine di un'immagine:

docker rmi triggerfarm2

Build di un'immagine a partire da un Dockerfile utile per iniettare files e comandi ad unimmagine (ATTENZIONE al punto finale). Si da per scontata la presenza del Dockerfile (https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-images) nella con nome "Dockerfile" nella medesima cartelle da cui si sta eseguendo il comando:

docker build -t "triggerfarm2:0.5" .

Esportare un'immagine

docker save

Esportare un container

docker export

Un file per l'avvio senza passare per systemd o system5 ma eseguendo ad esempio tomcat come primo script:

FROM triggerfarm2:1
    CMD nohup /usr/local/tomcat/bin/catalina.sh run

Per collegarsi ad un container (di nome "pippo") attivo in un nuovo tty:

docker exec -it pippo bash

Tecnologia su cui si basa Docker:

https://en.wikipedia.org/wiki/LXC

Cheatsheet

https://github.com/wsargent/docker-cheat-sheet

Networking

https://www.oreilly.com/learning/what-is-docker-networking#example-bridge-mode-networking

Tools

Runlike: comando in python per fare il reversing di come sia stato lanciato un container utile, ad esempio:

a) cpire cosa fanno vari altri tool tipo docker-compose fanno under-the-hood b) capire cosa docker run stesso aggiunge come parametri al lancio

Per installarlo:

pip install runlike