devopstuto-docker.pdf - Tutoriel Docker Release...

  • No School
  • AA 1
  • nabillafebry16
  • 486
  • 100% (1) 1 out of 1 people found this document helpful

This preview shows page 1 out of 486 pages.

You've reached the end of your free preview.

Want to read all 486 pages?

Unformatted text preview: Tutoriel Docker Release 2019-02-28T14:31:29.517726+01:00 igdevops 2019-02-28T14:31:29.517726+01:00 CONTENTS 1 Introduction à Docker 1.1 Pourquoi utiliser docker ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Transformation de la DSI des entreprises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Pour donner davantage d’autonomie aux développeurs . . . . . . . . . . . . . . . . . . . . 1.1.3 Faire évoluer son système d’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Pour que ça fonctionne aussi sur une autre machine . . . . . . . . . . . . . . . . . . . . . . 1.1.5 Livre blanc Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Définitions concernant l’agilité et le mouvement Devops . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Définition de Devops p.34 Programmez! p.214 janvier 2018 . . . . . . . . . . . . . . . . . 1.2.2 Définition 2, Le Devops pour répondre à l’appel de l’innovation 2018-01-04 . . . . . . . . . 1.2.3 Définition 3, extrait p.53 MISC N95, Janvier/février, 2018, “Ne pas prévoir, c’est déjà gémir” 1.2.3.1 Citations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.1.1 Ne pas prévoir, c’est déjà gémir . . . . . . . . . . . . . . . . . . . . . . . 1.2.3.1.2 La vie, c’est comme une bicyclette, il faut avancer pour ne pas perdre l’équilibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4 Devops, intégration et déploiement continus, pourquoi est-ce capital et comment y aller ? . . 1.2.5 Agilité et Devops: Extrait p. 35 de [Programmez!] , N°214, janvier 2018 . . . . . . . . . . 1.2.6 What is a DevOps Engineer ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Définitions concernant Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Définition de Docker sur Wikipedia en français . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Docker est “agile” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Docker est portable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.4 Docker est sécurisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.5 Les conteneurs Docker sont plus légers et rapides que les machines virtuelles . . . . . . . . 1.3.5.1 Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.5.2 Virtual machines (VMs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.5.3 Docker can run your applications in production at native speed . . . . . . . . . . . 1.4 Dossier Docker dans le dossier MISC N°95 de janvier/février 2018 . . . . . . . . . . . . . . . . . . 7 8 9 9 10 10 10 10 10 10 10 10 14 14 2 Installation de docker 15 3 Qui utilise Docker en production ? 3.1 Historique . . . . . . . . . . 3.1.1 Janvier 2018 . . . . . 3.2 Paypal . . . . . . . . . . . . 3.2.1 Challenges . . . . . 3.2.2 Solution . . . . . . . 4 3 4 4 4 5 6 6 6 6 6 7 7 7 . . . . . 17 17 17 17 18 18 docker engine CE (Community Edition) 4.1 docker engine versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i 4.1.1 5 ii docker engine versions . . . . . . . . . . . . . . . . 4.1.1.1 Future . . . . . . . . . . . . . . . . . . . . 4.1.1.2 Versions . . . . . . . . . . . . . . . . . . . 4.1.1.2.1 18.09-ce (2018-11-08) . . . . . . 4.1.1.2.2 18.06.1-ce (2018-08-21) . . . . . 4.1.1.2.3 18.06.0-ce (2018-07-18) . . . . . 4.1.1.2.4 18.03.1-ce (2018-04-26, 9ee9f40) 4.1.1.2.5 17.12.1-ce (2018-02-27) . . . . . 4.1.1.2.6 17.06.0-ce (2017-06-23, 02c1d87) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 20 20 20 20 20 20 20 Docker compose 5.1 Concepts clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Other definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Other links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 heroku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 docker-compose commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 docker-compose commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1.1 docker-compose help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1.2 docker-compose build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1.2.1 docker-compose -f docker-compose.yml build django . . . . . . . . . . . 5.3.1.3 docker-compose ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1.4 docker-compose up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 docker-compose for production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Docker compose in production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1.1 Articles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1.1.1 Simple continuous deployment with docker compose, docker machine and Gitlab CI (2017-06-26) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 docker-compose TIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 docker-compose tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1.1 docker-compose tips 2018 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1.1.1 3 Docker Compose features for improving team development workflow . 5.6 docker-compose versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 docker-compose versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1.1 Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1.1.1 docker-compose 1.22 (2018-07-18) . . . . . . . . . . . . . . . . . . . . . 5.6.1.1.2 docker-compose 1.21 (2018-04-09) . . . . . . . . . . . . . . . . . . . . . 5.7 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1 Quickstart: Compose and Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.1 Overview of Docker Compose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.3 Define the project components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.3.1 mkdir django_app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.3.2 Create a Dockerfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.3.3 Create a requirements.txt in your project directory . . . . . . . . . . . . 5.7.1.3.4 Create a file called docker-compose.yml in your project directory . . . . 5.7.1.4 Create a Django project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.4.1 cd django_app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.4.2 docker-compose run web django-admin.py startproject composeexample . 5.7.1.5 Connect the database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.5.1 Edit the composeexample/settings.py file . . . . . . . . . . . . . . . . . . 5.7.1.5.2 django_app> docker-compose up . . . . . . . . . . . . . . . . . . . . . . 5.7.1.5.3 docker ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.5.4 docker-compose down . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.1.6 Compose file examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 22 22 22 22 22 22 24 24 24 24 26 26 26 26 26 26 26 27 29 29 29 29 30 30 30 31 32 32 32 32 33 34 35 35 35 37 37 37 39 41 41 5.7.1.6.1 Compose file examples . . . . . . . . . . . . . . . . . . . . . . . . . . . gitlab ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7.2.1 Overview of Docker Compose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 43 43 6 compose-file 6.1 Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 45 46 7 Bonnes pratiques Docker 7.1 actu.alfa-safety.fr . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Best practices for writing Dockerfiles . . . . . . . . . . . . . 7.2.1 9-pillars-of-containers-best-practices . . . . . . . . . 7.3 Best practices for writing Dockerfiles from Nick Janetakis . . 7.3.1 Docker Best practices from Nick Janetakis . . . . . . 7.3.1.1 Dockerfile . . . . . . . . . . . . . . . . . . 7.3.1.2 docker-compose.yml . . . . . . . . . . . . . 7.3.1.3 .dockerignore . . . . . . . . . . . . . . . . 7.3.1.4 Example Apps for Popular Web Frameworks 7.3.1.5 Flask example . . . . . . . . . . . . . . . . 7.3.1.5.1 Flask Dockerfile . . . . . . . . . . 7.3.1.5.2 .env file . . . . . . . . . . . . . . 7.3.1.5.3 Flask docker-compose.yml . . . . 7.3.1.5.4 hello/app.py . . . . . . . . . . . . 7.3.1.5.5 .gitignore . . . . . . . . . . . . . 47 47 47 48 48 48 49 49 49 49 50 50 50 50 51 51 5.7.2 8 Docker machine 9 Docker swarm 9.1 Docker swarm articles . . . . . . . . . . . . . . . . . . . . 9.1.1 Docker swarm articles 2018 . . . . . . . . . . . . 9.1.1.1 Only one host for production environment. node swarm ? . . . . . . . . . . . . . . . 9.1.1.1.1 Question . . . . . . . . . . . . . 9.1.1.1.2 Response . . . . . . . . . . . . 10 Docker commands 10.1 docker help . . . . . . . . . . . 10.2 docker attach . . . . . . . . . . 10.3 docker build . . . . . . . . . . 10.3.1 Description . . . . . . 10.3.2 docker build –no-cache 10.4 docker commit . . . . . . . . . 10.5 docker cp . . . . . . . . . . . . 10.6 docker diff . . . . . . . . . . . 10.7 docker exec . . . . . . . . . . . 10.8 docker export . . . . . . . . . . 10.9 docker history . . . . . . . . . 10.10 docker inspect . . . . . . . . . 10.11 docker images . . . . . . . . . 10.12 docker kill . . . . . . . . . . . 10.13 docker login . . . . . . . . . . 10.14 docker logs . . . . . . . . . . . 10.14.1 Description . . . . . . 10.15 docker ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What to use: docker-compose or single . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 57 57 57 57 58 59 60 61 62 62 62 62 62 63 63 63 63 63 64 64 64 64 64 65 iii 10.15.1 docker ps –filter . . . 10.16 docker pull . . . . . . . . . . 10.17 docker rename . . . . . . . . 10.18 docker run . . . . . . . . . . 10.18.1 detach-keys . . . . . 10.18.2 downloading images 10.18.3 labels . . . . . . . . 10.18.4 entrypoint . . . . . . 10.19 docker search . . . . . . . . . 10.19.1 Description . . . . . 10.20 docker system . . . . . . . . 10.20.1 docker system prune 10.21 docker stop . . . . . . . . . . 10.22 docker tag . . . . . . . . . . 10.23 docker volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 65 65 65 65 66 66 66 66 66 67 67 67 68 68 11 Dockerfile 11.1 Deprecated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 MAINTAINER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 69 69 12 Docker network 12.1 Las networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 71 13 Volumes Docker 13.1 Use volumes . . . . . . . . . 13.2 Create and manage volumes . 13.2.1 docker volume create 13.2.2 docker volume ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 74 74 74 14 Registry 14.1 Definition . . . . . . . . . . . . . . . . . . . . 14.2 Understanding image naming . . . . . . . . . 14.3 Use cases . . . . . . . . . . . . . . . . . . . . 14.4 Implementations . . . . . . . . . . . . . . . . 14.4.1 Docker Registry implementations . . 14.4.1.1 Gitlab Container Registry . . 14.4.1.1.1 Historique . . . . . 14.4.1.1.2 Administration . . 14.4.1.1.3 Examples . . . . . 14.5 Examples . . . . . . . . . . . . . . . . . . . . 14.5.1 Docker Registry examples . . . . . . 14.5.1.1 Running Your Own Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 75 75 76 76 76 76 77 77 78 78 78 78 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Glossaire Docker 16 docker FAQ 16.1 How to delete all your docker images ? . . . 16.2 How to run a shell in our running container ? 16.3 How to delete stopped containers ? . . . . . 16.4 Where can I find example compose files ? . . 79 . . . . 83 83 83 84 84 17 Hébergeurs Docker 17.1 Gitlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Amazon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 85 85 iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Docker documentation 18.1 Docker aquasec documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.1 About this Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 87 87 19 Docker people 19.1 Bret Fischer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.1 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.1.1 2018 . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Nick Janetakis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.1 Best practices . . . . . . . . . . . . . . . . . . . . . . . . 19.3 Mickael Bright . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3.1 Activités septembre 2018 à Grenoble . . . . . . . . . . . . 19.4 Stéphane Beuret . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.1 Activités 2018 . . . . . . . . . . . . . . . . . . . . . . . . 19.4.1.1 GNU/Linux Mag hors série N°98 septembre 2018 19.4.1.2 GNU/linux mag N°217 juillet 2018 . . . . . . . . 19.4.1.3 GNU/linux mag N°214 avril 2018 . . . . . . . . 19.4.1.4 GNU/linux mag N°211 janvier 2018 . . . . . . . 19.4.1.5 GNU/linux mag N°204 mai 2017 . . . . . . . . . . . . . . . . . . . . . . . 89 89 89 89 89 89 89 92 92 92 92 92 92 93 93 20 linux techniques 20.1 namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 cgroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 95 95 21 Docker videos 21.1 2018 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 97 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
View Full Document

  • Fall '19

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture