Docker (1) Installer Docker et les opérations de base du conteneur d'images

1. Présentation de Docker

Docker est un moteur de conteneur d'applications open source , développé sur la base du langage go et open source conformément au protocole apache2.0

est un outil open source pour exécuter des applications dans des conteneurs Linux

est une "machine virtuelle" légère

La technologie de conteneur de Docker facilite la création d'un conteneur léger, portable et autonome pour toute application sur un seul hôte.

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé de sauvegarder l'image et de la télécharger directement (img-f7CsWqo0-1646746700374) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic Manage\5e82bf730e584547.jpg)]

Deuxièmement, la différence entre Docker et une machine virtuelle

caractéristique Docker machine virtuelle
vitesse de démarrage secondes niveau des minutes
Perte de puissance de calcul presque cinq Perte d'environ 50%
performance proche du natif plus faible que
prise en charge du système milliers dizaines de
isolement Isolement/limitation des ressources complètement isolé

Trois, technologie de base de conteneur

Docker est essentiellement un processus de l'hôte. Docker implémente l'isolation des ressources via l'espace de noms (espace de noms), la limitation des ressources via cgroup et des opérations de fichiers efficaces (similaire à la machine virtuelle) via la technologie de copie sur écriture. Par exemple, l'allocation de 500 g de disque ne n'occupent pas réellement 500g de disque physique).

Quatrièmement, le concept de base de Docker

●La mise en miroir
de l'image de Docker est la base de la création d'un conteneur, similaire à un instantané d'une machine virtuelle, et peut être comprise comme un modèle en lecture seule pour le moteur de conteneur Docker.
Démarrage d'un conteneur avec une image, une image est un package exécutable qui inclut tout le nécessaire pour exécuter l'application, y compris le code, l'environnement d'exécution, les bibliothèques, les variables d'environnement et les fichiers de configuration.
Une image Docker est également un package compressé, mais ce package compressé n'est pas seulement un fichier exécutable, un script de déploiement d'environnement, mais également un système d'exploitation complet. Étant donné que la plupart des images sont créées sur la base d'un certain système d'exploitation, il est facile de créer les mêmes environnements locaux et distants, ce qui est l'essence même des images Docker.

● Conteneurs Les conteneurs
Docker exécutent des instances créées à partir d'une image, qui peuvent être démarrées, arrêtées et supprimées. Chaque conteneur créé est isolé et invisible les uns des autres pour assurer la sécurité de la plateforme.
Un conteneur peut être considéré comme un simple environnement Linux (y compris les autorisations de l'utilisateur root, l'espace image, l'espace utilisateur et l'espace réseau, etc.) et les applications qui s'y exécutent.

●Entrepôt
L'entrepôt Docker est un endroit pour enregistrer les images de manière centralisée. Après avoir créé votre propre image, vous pouvez utiliser la commande push pour la télécharger vers un référentiel public (Public) ou un référentiel privé (Private). La prochaine fois que vous souhaitez utiliser cette image sur une autre machine, récupérez-la simplement dans le référentiel.
Les images, conteneurs, journaux, etc. de Docker sont tous stockés dans /var/lib/docker par défaut


Cinq, installez Docker

1. Désactivez le pare-feu et la protection des fichiers

[root@zqh ~]# systemctl stop firewalld
[root@zqh ~]# setenforce 0

2. Installer les packages de dépendance

[root@zqh ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

yum-utils:提供了yum-config-manager 工具。device mapper:
是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。device mapper存储驱动程序需要 device-mapper-persistent-data和 lvm2。

Définir la source miroir du cloud d'Alibaba

[root@zqh ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Installez Docker-CE et configurez-le pour qu'il démarre automatiquement au démarrage

[root@zqh ~]# yum install -y docker-ce docker-ce docker-ce-cli containerd.io
[root@zqh ~]# systemctl start docker.service
[root@zqh ~]# systemctl enable docker.service

####
安装好的Docker系统有两个程序,Docker服务端和ocker客户端。其中Docker服务端是一个服务进程,负责管理所有容器。
Docker客户端则扮演着Docker服务端的远程控制器,可以用来控制Docker的服务端进程。大部分情况下Docker服务端和客户端运行在一台机器上。

insérez la description de l'image ici

Afficher les informations sur le menu fixe

insérez la description de l'image ici

Afficher l'état du menu fixe, les informations sur la quantité, les informations sur le conteneur, les informations sur l'image

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-eZ38ZbB3-1646746700377) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\3.bmp)]

Six, opération d'image Docker

1. Rechercher des miroirs

Format:

docker search 关键字

2. Procurez-vous un miroir

Format:

docker pull 仓库名称[:标签]

##如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为latest标签

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-Rk22bX2H-1646746700378) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\5.bmp)]

3. Voir le miroir

docker imager

Afficher les détails du miroir

docker inspect 镜像id或名称

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-xIsE9XXw-1646746700379) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic admin\10.bmp)]

4. Accélération miroir

Connectez-vous au site Web d'Alibaba Cloud

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé de sauvegarder l'image et de la télécharger directement (img-Cy7WLzYU-1646746700380) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic admin\6.bmp)]

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé de sauvegarder l'image et de la télécharger directement (img-FniamsQZ-1646746700380) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\ linux\Docker\Docker Basic admin\7.bmp)]

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé de sauvegarder l'image et de la télécharger directement (img-UgQCfcwp-1646746700381) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic admin\8.bmp)]

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-XUkEuuSm-1646746700382) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\9.bmp)]

5. Afficher les informations sur l'image

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-lrAhsg2V-1646746700383) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic management\11.bmp)]

6. Modifier le nom et l'étiquette de l'image

Format:

docker tag 旧名:旧标签 新名:新标签

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé de sauvegarder l'image et de la télécharger directement (img-NoN9mD60-1646746700383) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic admin\12.bmp)]

7. Supprimer le miroir

la première méthode :

docker rmi 库名:标签

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-q9tkur1r-1646746700384) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic management\13.bmp)]

La deuxième méthode consiste à forcer la suppression par numéro d'identification

docker rmi 镜像id号 -f

##注意,如果这个镜像在被容器使用,那么用-f就会把容器也会删掉

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-1w7FRQlH-1646746700384) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\linux \Docker\Docker Gestion de base\14.bmp)]

8. Exportation miroir et importation locale

(1) Exportez d'abord l'image

docker save -o 自定义文件名.tar 库名:标签

[root@zqh ~]# docker save -o nginx-1.14.tar nginx:1.14

(2) Importez à nouveau l'image

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-juh7wr0q-1646746700385) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\linux \Docker\Docker Basic admin\15.bmp)]

9. Exportez l'image vers la propre bibliothèque du site officiel

Connectez-vous d'abord au site officiel pour créer un compte

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-sFFJYPfj-1646746700386) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\16.bmp)]

retour au serveur

[root@zqh ~]# docker login

[root@zqh ~]# docker tag nginx:1.14 zqhh/nginx:1.14  
##将发布的镜像改到自己账户名下

[root@zqh ~]# docker push zqhh/nginx:1.14 

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-CJThcxPT-1646746700386) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\17.bmp)]

Passez à l'interface Web pour afficher

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-xzx7S5Ps-1646746700387) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic admin\18.bmp)]


Sept, opération de conteneur Docker

1. Création de conteneur

Le conteneur nouvellement créé est à l'état arrêté par défaut et n'exécute aucun programme. Il est nécessaire d'y lancer un processus pour démarrer le conteneur.

Format:

docker create [选项] 镜像

常用选项:
-i:让容器开启标准输入
-t:让Docker分配一个伪终端tty
-it:合起来实现和容器交互的作用,运行一个交互式会话shell

[root@zqh ~]# docker create -it nginx:latest /bin/bash

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-MT7oiImE-1646746700387) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\19.bmp)]

2. Afficher tous les conteneurs et leur statut

docker ps -a

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-b100D9hw-1646746700388) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasicadmin\20.bmp)]

3. Démarrez le conteneur

docker start 容器id

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-B6ZwzhJ4-1646746700388) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasic admin\21.bmp)]

4. Arrêtez le conteneur

docker stop 容器id

或

docker kill 容器id

两者区别是  docker stop 想当于给程序发送一个指令,等程序处理完进程后 关闭程序
而 docker kill 是不管三七二十一,直接强制删除

5. Créer et démarrer le conteneur

Vous pouvez exécuter directement la commande docker run, ce qui équivaut à exécuter d'abord la commande docker create, puis la commande docker start.
Note de cœur
 : un conteneur est un terminal qui coexiste avec les commandes shell qui s'y exécutent, la commande exécute le conteneur s'exécute, la commande termine le conteneur se termine.
Par défaut, le conteneur Docker utilisera le premier processus à l'intérieur du conteneur, c'est-à-dire le programme avec pid = 1, comme base pour déterminer si le conteneur Docker est en cours d'exécution. Si le processus avec pid = 1 dans le conteneur Docker se bloque, alors le conteneur Docker sortira directement, c'est-à-dire qu'il doit y avoir un processus de premier plan dans le conteneur Docker, sinon le conteneur est considéré comme mort.

Lorsque vous utilisez docker run pour créer un conteneur, le processus d'exécution standard de Docker en arrière-plan est :

(1)检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;

(2)利用镜像创建并启动一个容器;

(3)分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;

(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;

(5)分配一个地址池中的IP地址给容器;

(6)执行用户指定的应用程序,执行完毕后容器被终止运行。

(1) Exécutez en continu le conteneur créé par docker run en arrière-plan

[root@zqh ~]# docker run -d centos:7 /bin/bash -c "while true; do echo helloworld; done"

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-9C39FIZY-1646746700389) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\linux \Docker\Docker Basic admin\22.bmp)]

6. Modifier le nom du conteneur

(1) Arrêtez d'abord un conteneur

[root@zqh ~]# docker stop 4c9f41540e7f 

(2) Modifier le nom du conteneur

[root@zqh ~]# docker run -itd --name zqh1 centos:7 /bin/bash

[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leech, il est recommandé de sauvegarder l'image et de la télécharger directement (img-JyJqcgYl-1646746700389) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\ linux\Docker\DockerBasic admin\23.bmp)]

7. Entrez dans le conteneur

[root@zqh ~]# docker exec -it zqh1 bash

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-Ccoqdo5W-1646746700390) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\linux \Docker\Docker Basic admin\24.bmp)]

(1) Comment créer un conteneur et entrer directement dans le conteneur (une commande pour l'obtenir)

[root@zqh ~]# docker run -it centos:7 bash

8. Implémenter le transfert de fichiers avant le conteneur et l'hôte

宿主机导入文件到容器

docker cp 文件 容器id号:/容器目录/

容器导出文件到宿主机并改名

docker cp 容器id号:/容器目录/文件   宿主机目录/新文件名

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-lVFjx5JW-1646746700390) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\linux \Docker\DockerBasicadmin\25.bmp)]

9. Exportation et importation de conteneurs

nœud1:192.168.100.142

nœud2:192.168.100.140

Les utilisateurs peuvent migrer n'importe quel conteneur Docker d'une machine à une autre. Pendant le processus de migration, vous pouvez utiliser la
commande docker export pour exporter le conteneur créé sous forme de fichier, que le conteneur soit en cours d'exécution ou arrêté. Les fichiers d'exportation peuvent être transférés vers d'autres machines et les conteneurs peuvent être migrés via les commandes d'importation correspondantes.

format d'exportation

docker export 容器id/名称 > 文件名

format d'importation

cat 文件名 | docker import - 镜像名称:标签
##导入后会生成镜像,但不会创建容器

Exigence : vous devez maintenant migrer le conteneur zqhh1 du nœud 1 vers l'hôte du nœud 2.

Le fonctionnement est le suivant :

Opération sur node1

[root@zqh ~]# docker export c4b00385104e > zqh.tar
[root@zqh ~]# scp zqh.tar 192.168.100.140:/opt

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-Ob74xrPC-1646746700391) (C:\Users\zhuquanhao\Desktop\Screenshot Command Collection\linux \Docker\Docker Basic admin\26.bmp)]

Opération sur node2

[root@bogon opt]# cat zqh.tar | docker import - zqh:aa
[root@bogon opt]# docker run -itd zqh:aa bash
[root@bogon opt]# docker exec -it 8e5d07246112  bash
[root@8e5d07246112 /]# cd /opt/
[root@8e5d07246112 opt]# ls
aa.txt  passwd.txt

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-5dz3xXNk-1646746700391) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasicadmin\27.bmp)]

10. Supprimer le conteneur

docker rm 容器id

删除正在运行的容器,需要先停止容器 或者加-f 强制删除

[Échec du transfert d'image du lien externe, le site source peut avoir un mécanisme anti-leech, il est recommandé d'enregistrer l'image et de la télécharger directement (img-CegUekC7-1646746700391) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\DockerBasicadmin\28.bmp)]

Comment supprimer tous les conteneurs à la fois

[root@zqh ~]# docker ps -a | awk 'NR>=2 {print $1}' | xargs docker rm -f

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_54059979/article/details/123363988
conseillé
Classement