赞
踩
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创建网络时回加上当前文件夹的路径
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。