docker pull image
docker images : liste les images
docker built -t <REPOSITORY:TAG> .
=> docker prendra le dockerfile du répertoire pour builder
FROM
MAINTAINER
RUN adduser -ms /bin/bash toto
USER toto
=> exec -it etc etc => connexion en toto
=> avec -u 0 connexion en root
docker create --name kanboard -v /home/user/kanboard:/var/www/kanboard/data -p 81:80 -t <REPOSITORY Image>
=> génère un conteneur nommé kanboard à partir de l'image <REPOSITORY Image>
=> bind le port 81 du serveur sur le port 80 du conteneur
=> monte le répertoire /home/user/kanboard du serveur dans /var/www/kanboard/data du conteneur
-P : docker réalise un mappage aléatoire du ou des ports utilisé(s) dans le conteneur
=> docker ps montrera le mappage
docker port <nom du conteneur> $CONTAINERPORT
=> montre les mappages
-p <port local>:<port conteneur>
-v chemin_local:chemin_conteneur
avec -v, le répertoire partagé est accessible dans /var/lib/docker/<id du conteneur>
docker start kanboard
docker stop kanboard
restart
pour se connecter au conteneur :
docker exec -ti kanboard
docker attach CONTAINER : se connecte au process lancé par le conteneur : Ctrl-c le tuera => fin du conteneur
supprimer tous les conteneurs ne tournant pas :
docker rm $(docker ps -a -q) => -q ne retourne que l'ID des conteneurs
pour prendre en compte les modifications faites dans un conteneur et en faire une nouvelle image :
docker ps -a ou -l
récupérer le CONTAINER_ID
docker commit CONTAINER_ID "nom_de_la/nouvelle_image:TAG" -m "Commit message" -a "nom du mainteneur"
ENV VARIABLE VALEUR
ENV VARIABLE2="VALEUR"
=> si export après USER, ENV est quand même system wide ?
ENTRYPOINT echo "display on every container" <= commande par défaut du conteneur, sera lancé par les conteneurs issus de cette image (à voir)
docker network ls
docker network inspect <name>