docker-compos 容器编排
安装docker-compose
bash
#没有docker compose 命令的下载docker-compose文件并赋予执行权限
#高版本安装docker-ce的时候默认安装docker-compose-plugin
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo apt install docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /user/local/bin/docker-compose
多容器编排
yaml
name: "name"
services:
microService:
image: zly_docker:1.2
container_name: springboot
depends_on:
- redis
- mysql
redis:
image: redis:7.0.0
networks:
- zly_net
mysql:
image: mysql:5.7
environment:
- mkd: sofds
volumes:
- /app/mysql/db:/var/lib/mysql
ports:
- 3306:3306
networks:
- zly_net
command: --default-authentication-plugin=mysql_native_password
networks:
zly_net:
docker-compose volumes 指定卷绑定位置
yaml
version: '3'
services:
mysql: # 服务名称
image: mysql:8.0 # 或其它mysql版本
container_name: mysql80 # 容器名称
environment:
- MYSQL_ROOT_PASSWORD=root # root用户密码
- TZ=Asia/Shanghai # 设置容器时区
volumes:
- MYSQL8_LOG:/var/log/mysql # 映射日志目录,宿主机:容器
- MYSQL8_DATA:/var/lib/mysql # 映射数据目录,宿主机:容器
- MYSQL8_CONF:/etc/mysql # 映射配置目录,宿主机:容器
ports:
- "3306:3306" # 指定宿主机端口与容器端口映射关系,宿主机:容器
restart: always
volumes:
MYSQL8_LOG: { }
MYSQL8_DATA:
name: MYSQL8_DATA
driver: local
driver_opts:
type: none
# 指定本地文件
device: /var/lib/mysql
o: bind
MYSQL8_CONF: { }
docker-compose 固定容器ip
docker-compose.yml 注意查看是否已经存在docker网络出现无法创建的情况请变更docker网络分发地址
yaml
name: "redis"
services:
redis:
image: registry.cn-beijing.aliyuncs.com/zbzly/redis
ports:
- "6379:6379"
networks:
redis_cluster_conf_net:
ipv4_address: 172.18.0.16
networks:
redis_cluster_conf_net:
# 需要固定ip避免redis容器重启ip变化集群环境破坏
ipam:
config:
- subnet: 172.18.0.0/24