失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Docker学习(六):docker compose容器编排

Docker学习(六):docker compose容器编排

时间:2023-04-07 21:58:25

相关推荐

Docker学习(六):docker compose容器编排

Docker-compose

实现对容器集群的快速编排

多服务部署的管理工具

定义docker-compose.yml文件,写好容器之间的调用关系,通过命令完成多个容器的同时启动关闭

解决了容器与容器之间的管理编排问题

1. Docker compose 安装下载

根据官网指导

#下载安装curl -SL /docker/compose/releases/download/v2.13.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-composesudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose#查看版本docker compose version

2. 核心概念

一文件、两要素

docker-compose.yml文件

服务(service)::一个个应用容器实例

工程(project):有一组相关联的应用容器实例组成的一个业务单元,在docker-compose.yml文件中定义

4. Docker compose常用命令

Compose常用命令

docker-compose -h # 查看帮助docker-compose up # 启动所有docker-compose服务docker-compose up -d # 启动所有docker-compose服务并后台运行docker-compose down# 停止并删除容器、网络、卷、镜像。docker-compose exec yml里面的服务id # 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bashdocker-compose ps # 展示当前docker-compose编排过的运行的所有容器docker-compose top # 展示当前docker-compose编排过的容器进程docker-compose logs yml里面的服务id# 查看容器输出日志docker-compose config# 检查配置docker-compose config -q # 检查配置,有问题才有输出docker-compose restart # 重启服务docker-compose start# 启动服务docker-compose stop# 停止服务

5. 启动各服务

5.1 不使用容器编排docker compose

需要一个一个启动,且不一定按顺序(人为操作),操作麻烦

不使用自定义网络,微服务连接mysql与redis需要写死IP地址

#启动mysqldocker run -d --name=mysql-master --privileged=true -p 3307:3306 -v /app/mysql/master/log:/var/log/mysql -v /app/mysql/master/data:/var/lib/mysql -v /app/mysql/master/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root mysql:5.7#启动nacosdocker run --name mynacos -e MODE=standalone -e MYSQL_SERVICE_HOST=192.168.216.118 -e MYSQL_SERVICE_PORT=3307 -e MYSQL_SERVICE_DB_NAME=db1 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=root -p 8849:8848 -d nacos/nacos-server#启动redisdocker run -d --name=redis-node1 --privileged=true --net host -v /app/redis/redis-note1/data:/data redis --appendonly yes --port 6381#微服务编译打jar包#编写Dockerfile文件#生成镜像#运行微服务容器实例#测试接口使用mysql容器实例进行数据的增删改查以及redis容器实例的数据读取与存储

5.2 使用容器编排docker compose

编写docker-compose.yml文件,自定义网络

服务:nacos+redis+mysql+微服务

version: "3"services:user-Service:image: userms:1.0container_name: usermsports:- "6066:6062"volumes:- /app/userMsDocker/tmp:/tmpnetworks: - hsp_net depends_on: - redis- mysql- nacosredis:image: redisports:- "6381:6379"volumes:- /app/redis/data:/datanetworks: - hsp_netcommand: --appendonly yesnacos:image: nacos/nacos-serverenvironment:MODE: 'standalone'ports:- "8849:8848"networks: - hsp_netmysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: 'root'ports:- "3307:3306"volumes:- /app/mysql/master/log:/var/log/mysql- /app/mysql/master/data:/var/lib/mysql- /app/mysql/master/conf:/etc/mysql/conf.dnetworks:- hsp_netnetworks: hsp_net:

如果觉得《Docker学习(六):docker compose容器编排》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。