Memo Docker

Posted by

Dockerfile

Image source :

FROM ubuntu:18.04

Ecouter sur un port :

EXPOSE 80

Ajouter des métadonnées :

LABEL "relase-date=20201115"

Lancer une commande :

RUN apt-get update && \
apt-get dist-upgrade

Commande par défaut du conteneur :

CMD ["commande", "arg1", "arg2"]

Déclarer une variable d’environnement :

ENV APACHE_HTTP_PORT_NUMBER=8080

Ajouter un fichier :

COPY requirements.txt /tmp

Commande de lancement du conteneur :

ENTRYPOINT ["commande", "arg1", "arg2"]

Exposer un volume pour du stockage persistant :

VOLUME ["/data/myapp"]

Lancement sur un compte non privilégié :

USER uid

Changement du répertoire courant :

WORKDIR /opt/myapp

Docker CLI : images

Construire une image depuis un Dockerfile :

docker build -t nom/app:0.0.1 -t nom/app:latest .

Chercher une image :

docker search postfix

Télécharger une image :

docker pull php

Mettre à jour toutes les images :

docker pull

Lister les images :

docker image [-a]

Supprimer une image :

docker rmi [ID | repository/tag]

Docker CLI : Conteneurs

Créer un conteneur :

docker create -d -p 80:80 -n apacheserver -v "/localpath:/containerpath" httpd:2.4

Démarrer un conteneur :

docker start NOM

Créer et démarrer un conteneur

docker run -dit -p 80:80 -n apacheserver -v "/localpath:/containerpath" httpd:2.4

Lister les conteneurs lancés :

docker ps

Lister tous les conteneurs :

docker ps -a

Démarrer un conteneur :

docker start conteneur

Arrêter un conteneur :

docker stop conteneur

Arrêter tous les conteneurs démarrés :

docker stop $(docker ps -a -q)

Lancer une commande dans un conteneur :

docker exec -it conteneur 

Ouvrir une session dans un conteneur :

docker exec -it conteneur bash

Démarrer un conteneur avec une restart policy :

docker run -d --restart [no,on-failure,always,unless-stopped] conteneur

Placer une restart policy sur un conteneur démarré :

docker update --restart [no,on-failure,always,unless-stopped] conteneur

Visualiser les logs :

docker logs conteneur

Docker CLI : nettoyage

Supprimer toutes les images :

docker image prune -a

Supprimer tous les conteneurs éteints :

docker container prune

Supprimer tous les volumes :

docker volume prune

Supprimer toute image, conteneur, volume inutilisé :

docker system prune -a

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.