Installation et premières commandes Docker

une fois installé docker pour win10:
https://hub.docker.com/editions/community/docker-ce-desktop-windows
insérer le login: yourdockerlogin et password: yourdockerpassword
créer un répertoire n'importe où, y accéder , puis MAJ + click droit "ouvrir une fenêtre de commande ici"
rq: dans une fenêtre de commande, sélectionner un texte puis click droit sur le texte sélectionné = copie le texte ds le presse papier
vérifier l'installation avec :

docker -v

résultat:

PS C:\Users\Karim\Desktop\docker\ubuntu> docker -v
Docker version 18.09.2, build 6247962


Rechercher une image ubuntu:

docker search ubuntu

résultat:

NAME                                                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
ubuntu                                                    Ubuntu is a Debian-based Linux operating sys…   9654                [OK]
dorowu/ubuntu-desktop-lxde-vnc                            Docker image to provide HTML5 VNC interface …   312                                     [OK]
rastasheep/ubuntu-sshd                                    Dockerized SSH service, built on top of offi…   223                                     [OK]
...


télécharger une image ubuntu:

docker pull dorowu/ubuntu-desktop-lxde-vnc

résultat:

Using default tag: latest
latest: Pulling from dorowu/ubuntu-desktop-lxde-vnc
898c46f3b1a1: Pull complete
63366dfa0a50: Pull complete
041d4cd74a92: Pull complete
6e1bee0f8701: Pull complete
...
Digest: sha256:b3e3cf26e826fa4f14972e8e0c73b3f20ab0f6f0165aec129a48bcac65f6ef65
Status: Downloaded newer image for dorowu/ubuntu-desktop-lxde-vnc:latest


liste des images disponible localement:

docker images

résultat:

REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
odoo                             12.0                4d2163483091        11 days ago         1.18GB
postgres                         9.5                 0d4e73eae654        12 days ago         227MB
postgres                         10                  83986f6d271a        12 days ago         230MB
elicocorp/odoo                   10.0                1f1f4c9bad23        6 weeks ago         1.83GB
dorowu/ubuntu-desktop-lxde-vnc   latest              64317909d597        2 months ago        1.11GB
docker4w/nsenter-dockerd         latest              2f1c802f322f        8 months ago        187kB


creation et lancement du conteneur à partir d'une image:

 docker run -d dorowu/ubuntu-desktop-lxde-vnc
# ou docker run dorowu/ubuntu-desktop-lxde-vnc
# -d pour lancer le conteneur dans un processus détaché de la console

docker run est l'assemblage des deux commandes de création et de lancement:

docker create dorowu/ubuntu-desktop-lxde-vnc
# qui renvoie l'ID du conteneur créé

et

docker start  /* ID du conteneur renvoyé par docker create */



lister les conteneurs docker lancés:

docker ps

résultat:

CONTAINER ID        IMAGE                            COMMAND             CREATED             STATUS                            PORTS               NAMES
e6e308676021        dorowu/ubuntu-desktop-lxde-vnc   "/startup.sh"       11 seconds ago      Up 9 seconds (health: starting)   80/tcp              distracted_darwin

lister tous les conteneurs docker lancés ou pas:

docker ps -all


executer une commande dans un conteneur (lancé par run ou start):

docker exec -it /* id du conteneur */ /* commande à executer */

exemple:
attacher la sortie du conteneur à la console actuelle:

docker exec -it e6e308676021 /bin/bash
# ou encore docker exec -it e6e308676021 sh

pour sortir de la console du conteneur, taper exit



exemple:

PS C:\Users\Karim\Desktop\docker\ubuntu> docker ps
CONTAINER ID        IMAGE                            COMMAND             CREATED             STATUS                 PORTS               NAMES
e6e308676021        dorowu/ubuntu-desktop-lxde-vnc   "/startup.sh"       2 hours ago         Up 2 hours (healthy)   80/tcp              distracted_darwin
PS C:\Users\Karim\Desktop\docker\ubuntu> docker exec -it e6e308676021 sh
# ls
Desktop
# cd ..
# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  startup.sh  sys  tmp  usr  var
# exit
PS C:\Users\Karim\Desktop\docker\ubuntu>


pour arrêter un conteneur:

docker stop /* id du conteneur( obtenue par docker ps) */
# ou encore docker kill /* id du conteneur( obtenue par docker ps) */

rq: kill détruit immédiatement le conteneur, alors que stop laisse 10 secondes au conteneur pour faire son ménage avant d'être tué



supprimer un conteneurs:

docker rm /* id du conteneur */


supprimer toutes les images:

docker rmi $(docker images -a -q)
# lister les images : docker images -a


supprimer toutes les images et les conteneurs:

docker system prune -a


Création d'images Docker personnalisées