Dernière modification : 05/01/2024

Docker - Mémo

Dans cet article nous allons aborder les principales commandes docker.

Informations sur Docker :

docker info
docker version

Lancer un container :

docker run

Arrêter un container :

docker stop

Arrêter tous les containers :

docker stop $(docker ps -a -q)

Démarrer un container arrêté :

docker start

Supprimer un container :

docker rm

Supprimer tous les containers :

docker rm $(docker ps -a -q)

Liste des processus docker actifs :

docker ps

Liste des processus actifs et inactifs :

docker ps -a

Liste les images :

docker images

Supprimer une image :

docker image rm

Builder une image :

docker build -t monImage .

Entrer dans un container :

docker exec -it [container] bash

Exécuter des commandes dnas un conainer :

echo "[ma commande]" | docker exec -i [container] bash

Afficher les logs d’un container :

docker logs [container]

Exécuter un Dockerfile en mode détaché (-d) :

docker-compose -d -f dockerfile.yml

Lancer un docker compose :

docker-compose up -d

Arrêter un docker-compose :

docker-compose down

Lister les containers :

docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"

 

Exemple de Dockerfile Tomcat :

$ cat Dockerfile
FROM tomcat:latest
LABEL maintainer=”deepak@softwareyoga.com”
ADD sample.war /usr/local/tomcat/webapps/
EXPOSE 8080
CMD [“catalina.sh”, “run”]

Exemple de Dockerfile Nginx :

$ cat test-angular/Dockerfile 
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY /dist/angular-test /usr/share/nginx/html

Exemple de docker-compose avec Tomcat et Nginx :

$ cat docker-compose.yml 
version: '3'

services: 
 tomcat:
  image: mywebapp
  ports:
    - "8080:8080"
  container_name: mywebapp
  volumes:
    - ./logs/:/usr/local/tomcat/logs/

 http:
  image: nginx:latest
  container_name: mynginx
  volumes:
    - ./nginx.conf:/etc/nginx/nginx.conf
  ports:
    - "80:80"
    - "443":"443"

 

Plus de commande sur la documentation officielle : https://docs.docker.com/engine/reference/commandline/docker/