Docker est technologie qui permet la gestion et l’exécution des applications à l’aide des conteneurs.
Avec Docker, vous pouvez facilement déployer une applications dans n’importe quel environnement.
Dans cet article nous allons 15 commandes que vous pouvez utiliser fréquemment quand vous travaillez avec docker.
Les commandes docker :
1- docker –-version :
Cette commande est utilisée pour afficher la version de docker installé.
[root@Docker ~]# docker --version Docker version 20.10.22, build 3a2c30b
2- docker pull <nom_image>:
Elle permet de télécharger l’image depuis le dépôt docker.
Par exemple ici je souhaite télécharger l’image de nginx :
[root@Docker ~]# docker pull nginx Using default tag: latest latest: Pulling from library/nginx 9e3ea8720c6d: Pull complete bf36b6466679: Pull complete 15a97cf85bb8: Pull complete 9c2d6be5a61d: Pull complete 6b7e4a5c7c7a: Pull complete 8db4caa19df8: Pull complete Digest: sha256:480868e8c8c797794257e2abd88d0f9a8809b2fe956cbfbc05dcc0bca1f7cd43 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest
Notez que cette commande n’installe pas l’image ( dans mon cas Nginx), elle est juste télechargé.
3- docker images
Cette commande affiche les images télechargés. Avec la commande pécedente j’ai télechargé nginx, je tappe donc cette commande pour voir si elle est bien téléchargé :
[root@Docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 448a08f1d2f9 2 weeks ago 142MB
4- docker run <image>
Permet d’installer l’image télechargé. Je tape cette commande pour installer nginx:
[root@Docker ~]# docker run nginx /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2023/05/22 16:49:48 [notice] 1#1: using the "epoll" event method 2023/05/22 16:49:48 [notice] 1#1: nginx/1.23.4 2023/05/22 16:49:48 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 2023/05/22 16:49:48 [notice] 1#1: OS: Linux 3.10.0-1160.81.1.el7.x86_64 2023/05/22 16:49:48 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2023/05/22 16:49:48 [notice] 1#1: start worker processes 2023/05/22 16:49:48 [notice] 1#1: start worker process 29 2023/05/22 16:49:48 [notice] 1#1: start worker process 30 2023/05/22 16:49:48 [notice] 1#1: start worker process 31 2023/05/22 16:49:48 [notice] 1#1: start worker process 32
Il faut noter que la commande docker run <image> check d’abord si l’image est déja télchargé, si ce n’est pas le cas, elle la télecharge.
5- docker ps:
Cette commande permet de lister les conteneurs en cours d’exécution :
[root@Docker ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c412aa06984e nginx "/docker-entrypoint.…" 6 seconds ago Up 5 seconds 80/tcp dreamy_nobel
6- docker ps -a :
Cette commande affiche les conteneurs en cours d’exécution et ceux qui sont arrêtés :
[root@Docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c412aa06984e nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 80/tcp dreamy_nobel 3eb35297afbe nginx "/docker-entrypoint.…" 29 minutes ago Exited (0) 2 minutes ago eloquent_lehmann f8b2294253a9 gcr.io/k8s-minikube/kicbase:v0.0.36 "/usr/local/bin/entr…" 4 months ago Exited (255) 56 minutes ago 127.0.0.1:32772->22/tcp, 127.0.0.1:32771->2376/tcp, 127.0.0.1:32770->5000/tcp, 127.0.0.1:32769->8443/tcp, 127.0.0.1:32768->32443/tcp minikube
7- docker run -it <image>
Permet d’accéder au terminal du conteneur en cours d’exécution
Là j’ai fait un pull de l’image de ubuntu et a accédé à son shell :
[root@Docker ~]# docker run -it ubuntu root@364f113e06f9:/# ls bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var root@364f113e06f9:/# exit exit [root@Docker ~]#
8- docker stop <container id>:
Cette commande permet d’arrêter un conteneur en cours d’exécution.
[root@Docker ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c412aa06984e nginx "/docker-entrypoint.…" 14 minutes ago Up 14 minutes 80/tcp dreamy_nobel [root@Docker ~]# docker stop c412aa06984e [root@Docker ~]# docker stop c412aa06984e c412aa06984e [root@Docker ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9- docker kill <container id>:
Permet d’arrêter immédiatement un conteneur.
10- docker commit <conatainer id> <username/imagename>:
Enregistre une nouvelle image docker avec l’ID de conteneur mentionné dans la commande sur le système local.
11- docker login:
Cette commande permet de se connecter au hub docker.
12- docker push <username/image name>:
Permet de mettre l’image sur le docker hub.
13- docker images:
Permet d’afficher tous les images stocké localement.
14- docker rm <container id>:
Supprimez le conteneur Docker.
15- docker rmi <image>
Supprime une image docker
Installation d’un certificat SSL sur un serveur Nginx
ufw : comment désactiver le pare-feu sur Ubuntu
Le fonctionnement du routeur
Find : 11 Exemples pratiques pour chercher les fichiers
Fail2Ban : How to protect Linux services