Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur virtuel, qui pourra être exécuté sur n'importe quel serveur Linux
VM vs. Docker
Dépot officiel
Dépots privés
Docker hub privé, AWS...
docker run -d --name some-ghost -e url=http://localhost:3001 -p 3001:2368 ghostVoir les containeurs lancés :
docker psdocker run -it debianPermet de se connecter à la sortie/entrée stardard
Permet de binder un volume
docker run -v /home/stephane/dev/monblog:/var/www nginxPermet de binder un port
docker run -p 8080:80 nginxPermet de supprimer automatiquement le container à la fin
docker run --rm apache2Permet de passer des variables d'environnement
docker run -e HTTPS=true nginxFROM node:12.2.0
COPY package.json package.json
RUN npm install
COPY src src
COPY tsconfig.json tsconfig.json
COPY tslint.json tslint.json
COPY angular.json angular.json
RUN npm run sass
RUN ng build --prod client
RUN ng build --prod admin
COPY server.js server.js
CMD node server.js
Exemple pour une app angular
Build :
docker build . -t wikipredictExecution :
docker run -p 80:80 706247672606.dkr.ecr.eu-west-3.amazonaws.com/wikipredict:latestHébergement de l'image sur AWS registry :
docker push 706247672606.dkr.ecr.eu-west-3.amazonaws.com/wikipredict:latestPour composer son application en local
Lancer un docker-compose :
docker-compose upEn production, utiliser un orchestrateur plus poussé pour l'auto scaling / monitoring / gestion des erreurs ....
Exemples :