Concepts de base et installation de Docker
One, Présentation de Docker
1. introduction à docker
- Docker est une "machine virtuelle" légère
- Outils open source pour exécuter des applications dans des conteneurs Linux
- Docker est un moteur de conteneur d'applications open source qui permet aux développeurs de conditionner leurs applications et packages dépendants dans une image portable, puis de la publier sur n'importe quelle machine Linux ou Windows populaire, qui peut également être virtualisée. Les conteneurs utilisent complètement le mécanisme du bac à sable et il n'y aura aucune interface entre eux.
- Remarque: la machine physique doit avoir un noyau 3.8 ou supérieur pour prendre en charge docker
2. concept de base du docker
Docker est composé de trois parties, à savoir l'image (Image), le conteneur (Container) et l'entrepôt (Repository)
- Une image image
docker est un modèle en lecture seule. Par exemple, une image peut contenir un centos complet, qui n'installe qu'apache ou d'autres applications utilisateur. L'image peut être utilisée pour créer un conteneur Docker. En outre, docker fournit un très mécanisme simple pour créer un miroir ou mettre à jour un miroir existant, les utilisateurs peuvent même télécharger un miroir prêt à l'emploi directement à partir d'autres et l'utiliser directement - Container
Docker utilise des conteneurs pour exécuter des applications. Les conteneurs exécutent des instances créées à partir d'images miroir. Ils peuvent être démarrés, démarrés, arrêtés et supprimés. Chaque conteneur est isolé les uns des autres, ce qui garantit une plate-forme sécurisée. Vous pouvez considérer les conteneurs comme nécessaire. Donner une version simple de l'environnement linux (y compris les autorisations de l'utilisateur root, l'espace miroir, l'espace utilisateur et l'espace réseau, etc.) et exécutez les applications qu'il contient - L'entrepôt de répertoires
représente les vicissitudes du stockage centralisé des fichiers miroir. Le registre est le serveur maître-esclave de l'entrepôt. En fait, plusieurs entrepôts sont stockés sur le serveur d'enregistrement de référence. Chaque entrepôt contient plusieurs miroirs et chaque miroir a un balise différente (balise) Il
existe deux types d'entrepôts, les entrepôts de référence publics et les entrepôts privés. Le plus grand entrepôt public est docker Hub, qui stocke un grand nombre d'images pour les utilisateurs la semaine prochaine. Le pool de docker national. Le concept d'entrepôt est ici similaire à Git, et le registre peut être compris comme des services d'hébergement comme github.
3. scénario d'application Docker
Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
4. Commandes couramment utilisées
Docker build 创建镜像
Docker run 利用镜像运行容器
Docker image 关于镜像的一系列操作
Docker pull 从镜像仓库下载镜像到本地仓库
Docker push 上传镜像到镜像仓库
Docker container 执行关于容器的一系列操作
Docker stats 实时监控该节点容器的资源使用情况
Deux, architecture de docker
- Le framework Docker est principalement composé de cinq modules: Docker Client, Docker Daemon, Docker Registry, Driver et Docker Container. De plus, il existe deux modules auxiliaires, Graph et Libcontainer.
- Client Docker: les utilisateurs communiquent avec Docker Daemon via Docker Client et utilisent la ligne de commande pour envoyer des demandes telles que la création d'images et l'exécution de conteneurs.
- Docker Daemon: Docker Daemon est un processus système qui réside en arrière-plan dans l'architecture Docker et accepte et traite les demandes envoyées par Docker Client. Le démon démarre un serveur en arrière-plan, et le serveur est responsable de l'acceptation de la demande envoyée par le client Docker; puis par le routage et la distribution, il trouve le gestionnaire correspondant pour exécuter la demande.
- Registre Docker: un référentiel pour stocker des images de conteneurs.
- Pilote: Le pilote est le module de pilote dans l'architecture Docker. Grâce au pilote Driver, Docker peut personnaliser l'environnement d'exécution du conteneur Docker. Contient le pilote graphdriver qui gère l'image du conteneur, le pilote du pilote réseau qui configure l'environnement réseau dans le conteneur et l'execdriver est utilisé pour créer et gérer le conteneur.
- Conteneur Docker: le conteneur spécifique qui exécute l'application est l'entité de livraison du service de conteneur.
- Le processus général en cours d'exécution est le suivant: l'utilisateur envoie une demande au démon Docker via la ligne de commande du client Docker. Une fois que le serveur du démon Docker a reçu la demande, le moteur créera une tâche de travail et exécutera différentes tâches en appelant chaque pilote. du module Pilote. Par exemple, si vous avez besoin d'un miroir, vous pouvez appeler graphdriver pour télécharger le miroir depuis l'entrepôt miroir. Lors de la création d'un conteneur, vous devez également appeler les deux autres pilotes pour configurer le réseau et créer et gérer le récipient. Enfin, le conteneur en cours d'exécution est généré ou l'image est téléchargée dans l'entrepôt miroir, etc.
Trois, installation de docker
1. Installez les dépendances
yum install -y yum-utils device-mapper-persistent-data lvm2
2. Configurer les ressources d'image d'Alibaba Cloud
cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. Installez docker-ce
#安装社区版
yum install -y docker-ce
4. Activez le docker et configurez-le pour démarrer automatiquement après le démarrage
#关闭防火墙,关闭核心防护
systemctl stop firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
systemctl start docker
systemctl enable docker
5. Accélération du miroir
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://4pg53plw.mirror.aliyuncs.com"]
}
EOF
##镜像加速需要去阿里云上查找
systemctl daemon-reload
systemctl restart docker
5. Optimisation du réseau
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
systemctl restart docker
systemctl restart network