docker-compose.yml 容器编排
本章节介绍如何定义 docker-compose.yml 文件
首先创建项目目录
mkdir docker cd docker vim docker-compose.yml
2.13.1. 版本号
version: '3.8'
2.13.2. 镜像
image: mysql:5.7 表示使用 mysql:5.7 镜像, image: mysql:latest 表示 mysql 最新版
services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress
2.13.3. 容器名称
prometheus: image: prom/prometheus container_name: prometheus
2.13.4. 启动策略
restart: unless-stopped
2.13.5. 容器用户
# Define in docker-compose: services: prometheus: image: prom/prometheus user: "1000:1000" services: prometheus: image: prom/prometheus user: root # Dockerfile USER 1000:1000
2.13.6. 挂在卷
volumes: - db_data:/var/lib/mysql
2.13.7. 映射端口的标签
将容器中的端口暴漏给宿主主机。
ports: - "3000" - "80:80" - "22:22" - "127.0.0.1:8000:8000"
默认 "端口:端口" 将监听 127.0.0.1 主机。如果需要将端口暴漏出去,格式是"IP:PORT:PORT",IP地址是宿主主机的网络适配器IP地址。
2.13.8. 添加 hosts 文件
往/etc/hosts文件中添加主机名,与Docker client的--add-host类似:
extra_hosts: - "orderer.example.com:10.130.