# 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: ## Cheatsheet ## 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