Docker学习(六):docker compose容器编排
Docker-compose
实现对容器集群的快速编排
多服务部署的管理工具
定义docker-compose.yml文件,写好容器之间的调用关系,通过命令完成多个容器的同时启动关闭
解决了容器与容器之间的管理编排问题
1. Docker compose 安装下载
根据官网指导
#下载安装
curl -SL https://github.com/docker/compose/releases/download/v2.13.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo 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/bash
docker-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地址
#启动mysql
docker 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
#启动nacos
docker 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
#启动redis
docker 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_net
networks: hsp_net:
Docker学习(六):docker compose容器编排相关推荐
- Docker学习(六)-----Docker数据卷
十.Docker数据卷 问题:通过镜像创建一个容器,容器一旦被销毁,则容器内的数据将一并被删除,但有些情况下,通过服务器上传的图片出会丢失.容器中的数据不是持久化状态的. 那有没有一种独立于容器,提供 ...
- Docker学习六:综合实践
前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...
- Docker学习2——Docker高级
Docker学习2--Docker高级 2.1 Dockerfile解析 2.1.1 Dockfile是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参 ...
- Docker系列(二十四)——Docker实例六Docker安装Redis实例
< Docker实例三Docker安装Redis实例 > 前言 在前面一篇文章种,完成了 < Docker安装MongoDB实例 >,本篇将继续镜像安装教程,并完成Docker ...
- Docker学习(2)-Docker基础1
Docker学习(1)-Docker简介 1.2 Docker安装及基础命令介绍 https://www.docker.com/#Docker官网 Docker 运行系统 OS 版本选择: Docke ...
- Docker学习1——Docker入门
Docker学习1--Docker入门 参考资料 1.Docker简介 2.尚硅谷2022版Docker实战教程(docker教程天花板) 1.1 Docker简介 1.1.1 Docker引入 假定 ...
- Docker学习(3)-Docker镜像构建和使用
Docker学习(1)-Docker简介 Docker学习(2)-Docker基础1 Docker 镜像与制作 Docker 镜像内是否包含内核(bootfs)? 首先,从镜像的体积大小来说,一个比较 ...
- docker学习 --Compose 容器编排,常用命令等.集成spring。mysql。redis
一切皆容器 处处云原生 有什么用 写好容器之间的编排调用关系 ,一个命令直接使用,相当于spring中的application.xml 例如你可以编排先启动elasticsearch再启动kabbin ...
- Docker compose 容器编排
1. 概述 问题:如果要使用 Docker 运行 LNMP 架构,那么 Nginx.MySQL.PHP. Linux三个服务运行在一个容器里,还是运行在多个容器里呢? 答案是都可以. 你可以分别放在三 ...
最新文章
- MyBatis开发入门二:一对多连表查询
- IJCAI 2019:中国团队录取论文超三成,北大、南大榜上有名
- python用os.system打开wav文件_使用python读取wav格式文件
- SSE,MSE,RMSE,R-square指标讲解
- jvm性能调优 - 01类加载机制Review
- 12.集合:在我的世界里,你就是唯一 / 不可变集合
- python文件名有空格_python 解决Windows平台上路径有空格的问题
- 使用Anaconda完全替代官方Python
- linux关闭时间戳是否有影响,linux – 如何让sec正确忽略时间戳
- gdb core调试
- .Net中的AOP系列之《方法执行前后——边界切面》
- excel支持python吗_没有 Python,微软宣布 Excel 新增 JavaScript 支持
- 【Lintcode】029.Interleaving String
- 独家 | 林元庆新征程:创立AIbee估值8亿,毗邻百度,吴恩达助攻
- 《SAP入门经典(第4版•修订版)》——3.2 SAP硬件基础知识
- HDU1256 画8【打印图案】
- mongo 监听指定语句
- 硬,软连接,以及在windows中的用法
- Julia Rust : 看递归上的运行效率PK
- Unity3d 周分享(22期 2019.8.30 )