0% ont trouvé ce document utile (0 vote)
71 vues17 pages

TP Docker : Créez et Gérez des Images et Conteneurs

Transféré par

Nour
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
71 vues17 pages

TP Docker : Créez et Gérez des Images et Conteneurs

Transféré par

Nour
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Sup Galilée

-
TP 2 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

msouvatdy@[Link]
Table des matières
1. Dockerfile ........................................................................................................................... 3
1.1. Votre premier Dockerfile............................................................................................. 3
1.2. Construction d’une image depuis le Dockerfile .......................................................... 4
1.3. Lancer un conteneur à partie de la nouvelle image ..................................................... 4
1.4. L’instruction CMD ...................................................................................................... 6
1.5. L’instruction ENTRYPOINT ...................................................................................... 7
1.6. L’instruction WORKDIR ............................................................................................ 8
1.7. L’instruction ENV ....................................................................................................... 9
1.8. L’instruction USER ................................................................................................... 10
1.9. L’instruction ADD ..................................................................................................... 11
1.10. L’instruction COPY ............................................................................................... 12
1.11. L’instruction LABEL ............................................................................................. 13
1.12. L’instruction ONBUILD ........................................................................................ 14
1.13. Les volumes docker ............................................................................................... 16
2. Déposer une image sur Docker Hub ................................................................................ 17
# Version: 0.1
FROM [Link]/ilkilabs/ubuntu:18.04
LABEL maintainer="ilkilab"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi, I am in your container' >/var/www/html/[Link]
EXPOSE 80
$ docker build -t="ur2p0/static_web" .

$ docker run -d -p 80 --name static_web ur2p0/static_web:v0.1 nginx -g "daemon off;"

$ docker port 9c718b925346


$ docker port 9c718b925346 80
$ docker port static_web

$ curl [Link]:32777
$ docker run -d -p [Link]:80:80 --name static_web ur2p0/static_web:v0.1 nginx -g "daemon
off;"

$ docker port static_web

$ curl [Link]:80

$ docker rm -f static_web

$ docker run -d -p [Link]::80 --name static_web ur2p0/static_web:v0.1 nginx -g "daemon


off;"

$ docker port static_web

$ curl [Link]:32769
$ docker run -i -t jamtur01/static_web /bin/bash

# Version: 0.2
FROM [Link]/ilkilabs/ubuntu:18.04
LABEL maintainer="ilkilab"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi, I am in your container' >/var/www/html/[Link]
CMD ["/bin/bash"]
EXPOSE 80

CMD ["/bin/bash", "-l"]

$ docker run -t -i mon_image /bin/ps


1) A quoi sert l’instruction ENTRYPOINT ?
2) Créer un Dockerfile avec le contenu suivant :
# Version: 0.3
FROM ur2p0/static_web:v0.2
ENTRYPOINT ["/bin/echo"]

ENTRYPOINT ["/bin/ps"]
CMD ["-aux"]
2)

$ vi Dockerfile
# Version: 0.1
FROM [Link]/ilkilabs/ubuntu:14.04
LABEL maintainer="ilkilab"
WORKDIR /etc
RUN mkdir new_folder
WORKDIR new_folder/
RUN touch hellotomynewfolder
WORKDIR toto/
# Version: 0.2
FROM ur2p0/ubu_test:v0.1
LABEL maintainer="ilkilab"
ENV TARGET_DIR /etc/new_folder
WORKDIR $TARGET_DIR
RUN mkdir new_folder2
2)

FROM ur2p0/ubu_test:v0.2
USER ilki
ENV TARGET_DIR /home/ilki
WORKDIR $TARGET_DIR
RUN touch a_third_file
FROM ur2p0/ubu_test:v0.3
ADD [Link] .
$ mkdir test_copy
$ cd test_copy
$ touch test_cp_file
$ cd ..

#Version 0.4
FROM ur2p0/ubu_test:v0.3
RUN mkdir copied_folder
COPY test_copy/ /home/ilki/copied_folder

CHECKPOINT N°3
$ vi Dockerfile
#Version 0.5
FROM ur2p0/ubu_test:v0.3
LABEL location="NANTES" type="ubuntu-server" role="web-server"

$ docker build -t="ur2p0/ubu_test:v0.5" .

$ docker run -t -i ur2p0/ubu_test:v0.5

$ docker ps

$ docker inspect cranky_noether


$ docker inspect --format='{{.[Link]}}' cranky_noether
map[location:NANTES role:web-server type:ubuntu-server]
$ cd ..
$ mkdir apache2
$ cd apache2
$ mkdir v1
$ cd v1
$ touch Dockerfile
$ vi Dockerfile

#Version 0.1
FROM [Link]/ilkilabs/ubuntu:14.04
LABEL maintainer="ilkilab"
RUN apt-get update && apt-get install -y apache2
LABEL location="NANTES" type="ubuntu-server" rôle="web-server"
ONBUILD RUN apt-get update

$ docker build -t="ur2p0/apache2" .


$ cd ..
$ mkdir v2
$ cd v2
$ touch Dockerfile
$ vi Dockerfile
#Version 0.1
FROM ur2p0/apache2
ENV APPLICATION_NAME webapp

$ docker build -t="ur2p0/webapp" .


Step 1/3 : FROM ur2p0/apache2
# Executing 1 build trigger...
Step 1/1 : RUN apt-get update
---> Running in 94d8b2435a68
$ mkdir /home/vagrant/partage

$ touch /home/vagrant/partage/monfichier_partage.txt

$ docker run -v /home/vagrant/partage:/opt -it ur2p0/ubu_test:v0.2

# ls /opt

3)

$ docker run --mount source=monpremiervolume,target=/opt -it ur2p0/ubu_test:v0.2


$ docker login
$ docker push ur2p0/webapp

Vous aimerez peut-être aussi