docker 容器编排,主要用于多个有关联关系的容器管理,例如容器有依赖关系,微服务启动依赖于中间件,需要中间件先启动,其本质就是将一条条的容器启动命令统一放到一个脚本里面,通过启动,停止脚本去管理所容器。
一.微服务启动案例
1.创建docker-compose.yml 文件,文件名必须是这个,微服务启动依赖与redis和mysql
version: "3" services: microService: image: mydockerjavaweb:v0.1 container_name: ms01 ports: - "8090:8090" volumes: - D:/mydocker/compose/microService:/data networks: - lenged_net depends_on: - redis - mysql redis: image: redis:6.0.8 ports: - "6379:6379" volumes: - D:/mydocker/compose/redis-ms/redis.conf:/etc/redis/redis.conf - D:/mydocker/compose/redis-ms/data:/data networks: - lenged_net command: redis-server /etc/redis/redis.conf mysql: image: mysql:5.7 environment: MYSLQ_ROOT_PASSWORD: '123456' MYSQL_ALLOW_EMPTY_PASSWORD: 'no' MYSQL_DATABASE: 'db2022' MYSQL_USER: 'lenged' MYSQL_PASSWORD: 'lenged' ports: - "3360:3306" volumes: - D:/mydocker/compose/mysql-ms/db:/var/lib/mysql - D:/mydocker/compose/mysql-ms/conf/my.cnf:/etc/my.cnf - D:/mydocker/compose/mysql-ms/init:/docker-entrypoint-initdb.d networks: - lenged_net command: --default-authentication-plugin=mysql_native_password #解决外部无法访问 networks: lenged_net:
此时微服务的yml配置文件数据库和redis可以配置为,容器服务名,类似于feign不用关注容器具体的ip
2.运行docker-compose.yml文件
2.1验证docker-compose.yml文件是否正确:没有报错即为正确
docker-compose config -q #文件名必须为docker-compose.yml
2.1 启动 docker-compose up -d
#创建并启动 docker-compose up -d #停止并销毁 docker-compose down #启动 docker-compse start #停止 docker-compse stop
其他命令docker-compose --help
注意:docker-compose创建网络时回加上当前文件夹的路径



