2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Préparez l’environnement :
- VMware17
- Ubuntu 18.04 (LTS) : https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Documents relatifs à Docker :
- Adresse du site officiel de Docker : https://www.docker.com/
- adresse de la documentation Docker : https://docs.docker.com/
- entrepôt d'images Docker : https://hub.docker.com/
1. Qu'est-ce que Docker : il s'agit d'un moteur de conteneur open source qui peut facilement gérer les conteneurs, et les conteneurs sont isolés les uns des autres à l'aide d'un mécanisme de bac à sable.
2. Quel problème Docker résout-il : résoudre le problème de migration de l'environnement logiciel.
3. La différence entre les conteneurs et les machines virtuelles :
4. stockage Docker :
-v /宿主机目录:容器目录
数据卷:容器目录
5. Réseau Docker : créez un réseau personnalisé pour accéder au nom d'hôte en tant que nom de domaine stable. (Permet aux conteneurs sur le même réseau de communiquer entre eux)
#示例
#自定义网络
docker network create mynet
#主节点
docker run -d -p 6379:6379
-v /app/rd1:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=master
-e REDIS_PASSWORD=123456
--network mynet --name redis01
bitnami/redis
#从节点
docker run -d -p 6380:6379
-v /app/rd2:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=slave
-e REDIS_MASTER_HOST=redis01
-e REDIS_MASTER_PORT_NUMBER=6379
-e REDIS_MASTER_PASSWORD=123456
-e REDIS_PASSWORD=123456
--network mynet --name redis02
bitnami/redis
Cet article est basé sur l'installation de l'environnement Ubuntu. Si vous manquez d'autorisations, ajoutez simplement sudo devant.
1. Désactivez le pare-feu (il n'est pas nécessaire d'exposer manuellement le port pour un accès externe ultérieur, ce qui est pratique pour les tests)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2. Installer le menu fixe
#卸载旧版docker
sudo apt-get remove docker docker-engine docker.io containerd runc
#更新软件包
sudo apt-get update
#安装一些工具
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
#安装docker
sudo apt install docker.io
#验证dokcer是否安装成功
docker --version
#启动& 开机启动docker; enable + start 二合一
sudo systemctl enable docker --now
#配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
#重新加载配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
1. Gestion du statut du service docker :
2. Gestion des images Docker :
3. Gestion des conteneurs Docker :
4. Volume de données Docker :
Volume de données : C'est un dossier géré par docker.
L'utilisation de volumes de données : vous pouvez lier un volume de données à un chemin dans un conteneur pour réaliser un transfert automatique bidirectionnel de fichiers entre le conteneur et l'hôte.
Placez le fichier dans le volume de données de l'hôte : Docker synchronisera automatiquement le fichier avec le conteneur
Si les fichiers du conteneur changent : docker les synchronisera automatiquement avec le volume de données de l'hôte.
Commandes d'opération de volume de données :
Liste des volumes de données : docker volume ls
Créer un volume de données : le volume Docker crée le nom du volume de données
Afficher les détails du volume de données (chemin réel) : le volume Docker inspecte le nom du volume de données
Supprimer le volume de données : nom du volume de données docker volume rm
Créez le conteneur et liez le volume de données :
docker run -di --name=nom du conteneur -v nom du volume de données : chemin dans le nom de l'image du conteneur : balise
docker run -di --name=nom du conteneur -v chemin dans l'hôte : chemin dans le nom de l'image du conteneur : balise
Remarque : Tous les chemins du paramètre -v doivent être des chemins absolus.
5. Sauvegarde miroir :
Documentation : https://docs.docker.com/reference/dockerfile/
Rôle Dockerfile : créer des images personnalisées.
Dockerfile est basé sur une image de base et écrit une série d'instructions Docker. Chaque instruction construit une couche d'image couche par couche, une image cible est finalement construite.
Instructions communes | effet |
---|---|
DEPUIS | Spécifier l'environnement de base de l'image |
COURIR | Exécuter une commande personnalisée |
CMD | Commande ou paramètres de démarrage du conteneur |
ÉTIQUETTE | Étiquettes personnalisées |
EXPOSER | Spécifier le port exposé |
ENV | Variables d'environnement |
AJOUTER | Ajouter des fichiers à l'image |
COPIE | Copier les fichiers dans l'image |
POINT D'ACCÈS | Commande de démarrage fixe du conteneur |
VOLUME | volume de données |
UTILISATEUR | Spécifier les utilisateurs et les groupes d'utilisateurs |
RÉPERTOIRE DE TRAVAIL | Spécifier le répertoire de travail par défaut |
ARG | Spécifier les paramètres de construction |
Exemple:
#编写dockerfile文件
vim Dockerfile
FROM openjdk:17
LABEL author=aopmin
COPY app.jar /app.jar #把jar包复制到容器的根目录下
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"] #运行命令
# 构建镜像
docker bulid -f Dockerfile -t 镜像名:tag .
Orchestration de services ou orchestration de conteneurs : gérez les conteneurs par lots selon certaines règles métier.
Docker Compose est un outil d'orchestration permettant de définir et d'exécuter plusieurs conteneurs Docker.
Plusieurs conteneurs peuvent être démarrés avec une seule commande. Il résout principalement le problème de la gestion et de l’orchestration des conteneurs.
L'utilisation de Docker Compose comporte trois étapes :
docker-compose.yml
Définir les services qui composent l'applicationdocker-compose up -d
Démarrer l'applicationInstallez docker-compose :
# 下载docker compose
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置权限
chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose -version
Si vous souhaitez désinstaller docker-compose, vous pouvez exécuter la commande suivante :
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Commandes courantes pour docker-compose :
# !!!注意:必须先切换到`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
#创建容器并后台启动
docker-compose up -d
#直接启动容器
docker-compose start
#其它命令:
docker-compose help # 查看帮助
docker-compose stop # 停止容器
docker-compose start # 启动容器
docker-compose restart # 重启容器
docker-compose rm # 删除已停止的容器
docker-compose down # 停止并删除容器
Exemple:
1. Créez le répertoire docker-compose
mkdir ~/docker-compose
cd ~/docker-compose
2. Écrivezdocker-compose.yaml
document
version: "3.0"
services:
redis:
container_name: redis
image: redis:5.0
ports:
- 6379:6379
nginx:
container_name: nginx
image: nginx:1.14.2
ports:
- 80:80
volumes:
- /root/volumes/nginx/html:/usr/share/nginx/html
tomcat:
container_name: tomcat
image: tomcat:8.5.88
ports:
- 8080:8080
volumes:
- /root/volumes/tomcat/webapps:/usr/local/tomcat/webapps
3. Commencez
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d