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
https://github.com/wsargent/docker-cheat-sheet
https://www.oreilly.com/learning/what-is-docker-networking#example-bridge-mode-networking
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