Vous êtes sur la page 1sur 15

Sup Galilée

-
TP 1 Docker

Notation :
- TP à réaliser en groupe de 2 à 3 personnes MAX
- Des checkpoints sont inclus dans le TP à faire valider par le formateur
o Les réponses au différentes questions seront attendues
- Aucun rapport n’est exigé mais il est conseillé d’en réaliser un

Contact: msouvatdy@ilki.fr
Table des matières
1. Installation de l’environnement de travail .......................................................................... 3
1.1. Présentation du TP ....................................................................................................... 3
2. Installation de Docker sur Ubuntu ..................................................................................... 4
2.1. Installation de Docker .................................................................................................. 4
2.2. Docker et UFW (à ne pas réaliser) .............................................................................. 4
3. Créer son premier conteneur .............................................................................................. 5
3.1. S’assurer que docker est prêt ....................................................................................... 5
3.2. Lancer son premier conteneur ..................................................................................... 5
4. Travailler avec des conteneurs ........................................................................................... 6
4.1. Premières manipulations.............................................................................................. 6
4.2. Gestion des images ...................................................................................................... 6
4.3. Exécuter une commande dans un conteneur................................................................ 9
4.4. Consulter les informations sur le conteneur ................................................................ 9
4.5. Regarder ce qu’il se passe dans un conteneur ........................................................... 10
4.6. Observer les processus s’exécutant au sein d’un conteneur ...................................... 11
4.7. Les statistiques d’un conteneur.................................................................................. 11
4.8. Arrêter un conteneur .................................................................................................. 11
4.9. Redémarrage automatique d’un conteneur ................................................................ 11
5. Utiliser Docker commit pour créer des images ................................................................ 12
6. Créer et utiliser un repository local .................................................................................. 13
6.1. Préparer le serveur de registre ................................................................................... 13
6.2. Préparer la machine cliente........................................................................................ 13
6.3. Manipuler des containers sur ce registre ................................................................... 14
6.4. Arrêter un registre ...................................................................................................... 15
o
o
o
o
o
# sudo apt-get update && apt-get upgrade

https://docs.docker.com/engine/install/ubuntu/

# sudo docker info


CHECKPOINT N°1

# sudo vi /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
# sudo service ufw restart
# docker info

# docker run -it rg.fr-par.scw.cloud/ilkilabs/ubuntu:14.04 /bin/bash


https://hub.docker.com/
$ docker login

$ docker logout
$ docker run --name daemon_dave -d rg.fr-par.scw.cloud/ilkilabs/ubuntu:20.04 /bin/sh -c
"while true; do echo hello world; sleep 1; done"

$ docker ps
$ docker exec -d daemon_dave touch /etc/TEST

$ docker exec -t -i daemon_dave /bin/bash


# ls /etc

# Ctrl+P+Q

$ docker inspect daemon_dave


$ docker inspect --format='{{ .State.Running }}' daemon_dave

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' daemon_dave

$ docker inspect --format '{{.Name}} {{.State.Running}}' daemon_dave bob_the_container

$ docker logs daemon_dave

$ docker logs -f daemon_dave


$ docker top daemon_dave

$ docker stats daemon_dave

$ docker stop daemon_dave

$ docker run --restart=always --name daemon_dave2 -d rg.fr-


par.scw.cloud/ilkilabs/ubuntu:20.04 bin/sh -c "while true; do echo hello world; sleep 1; done"

--restart=on-failure:5

$ docker inspect --format '{{ .HostConfig.RestartPolicy }}' daemon_dave2


$ docker run -d -p 5000:5000 --restart=always --name registry rg.fr-
par.scw.cloud/ilkilabs/registry:2

$ sudo vi /etc/docker/daemon.json
{
"insecure-registries" : ["10.10.10.4:5000"]
}
# sudo systemctl restart docker

$ docker pull rg.fr-par.scw.cloud/ilkilabs/ubuntu:16.04

8)

$ docker pull 10.10.10.4:5000/my-ubuntu


$ docker stop registry

$ docker stop registry && docker rm -v registry


ou
$ docker rm -f registry

Vous aimerez peut-être aussi