一:介绍
1 | Docker-compose是Docker官方的开源姓名,负责实现对Docker容器集群的快速编排。 |
安装
1
2
3sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker compose --version
二:核心概念
2.1 一文件
1 | docker-compose.yml |
2.2 两文件
服务(service)
1
一个一个应用容器实例,比如:订单微服务,库存微服务,mysql容器,redis容器
功能(project)
1
由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml文件中定义。
三:compose使用的三个步骤
1 | 1.编写Dockerfile定义各个微服务应用并构建出对应的镜像文件 |
四:compose的常用命令
1 | docker-compose -h #查看帮助 |
五:compose编排微服务
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42services: # 几个服务
bootService: # springboot的服务,自定义名称
image: docker_boot:1.2 # 镜像
container_name: docker_boot_01 #容器名称
ports: # 端口号
- "6001:6001"
volumes: # 数据卷
- /opt/app/dockerBoot_6001:/data
networks: # 网络
- renjie_net
depends_on: # 依赖
- redis
- mysql
redis: # redis容器
image: redis:6.0.8 #镜像
ports: # 端口号
- "6379:6379"
volumes: # 数据卷
- /opt/docker/redis/redis.conf:/etc/redis/redis.conf
- /opt/docker/redis/data:/data
networks: # 网络
- renjie_net
command: redis-server /etc/redis/redis.conf
mysql: # mysql容器
image: mysql:5.7 # 镜像
environment: # 环境配置
MYSQL_ROOT_PASSWORD: '123456'
MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
MYSQL_DATABASE: 'docker_boot'
MYSQL_USER: 'user1'
MYSQL_PASSWORD: '123456'
ports:
- "3306:3306"
volumes:
- /opt/docker/mysql/data:/var/lib/mysql
- /opt/docker/conf/my.conf:/etc/my.conf
- /opt/docker/mysql/init:/docker-entrypoint-initdb.d
networks:
- renjie_net
command: --default-authentication-plugin=mysql_native_password # 解决外部无法访问
networks:
renjie_net:执行
1
2docker-compose up或者
docker-compose up -d
*************感谢您的阅读*************