docker-compose编排最佳实战(多服务)
建 docker-compose 文件
volumes中挂载的目录当宿主机不存在时,会自动创建
vi docker-compose.yml
version: "2" # 使用Version 2
services: # 包含需要操作的容器
web1: # 容器的名称
image: nginx # 指定基于哪个镜像
ports: # 指定映射的端口
- "8080:80"
networks: # 指定使用哪个网络模式 - "net1"
volumes: # 指定挂载的的目录 - /data/www:/usr/share/nginx/html
web2:
image: nginx
ports: - "8081:80"
networks: - "net2"
volumes: - /data/www1:/usr/share/nginx/html
networks:
net1:
driver: bridge
net2:
driver: bridge
docker-compose文件内容区域
services : 服务,定义应用需要的一些服务,每个服务都有自己的名字、使用的镜像、挂载的数据卷、所属的网络、依赖哪些其他服务等等
networks : 网络,定义应用的名字、使用的网络类型等等
- volumes : 数据卷,定义的数据卷(名字等等),然后挂载到不同的服务下去使用
使用docker-compose 开始构建容器 (下面两种启动都可以)
[root@mysql1 opt]# docker-compose -f docker-compose.yml up -d
Creating network "opt_net2" with driver "bridge"
Creating network "opt_net1" with driver "bridge"
Creating opt_web2_1 ... done
Creating opt_web1_1 ... done
[root@mysql1 opt]# docker-compose up -d
Creating network "opt_net2" with driver "bridge"
Creating network "opt_net1" with driver "bridge"
Creating opt_web2_1 ... done
Creating opt_web1_1 ... done
查看容器状态
[root@mysql1 opt]# docker-compose ps
Name Command State Ports
opt_web1_1 nginx -g daemon off; Up 0.0.0.0:8080->80/tcp
opt_web2_1 nginx -g daemon off; Up 0.0.0.0:8081->80/tcp
[root@mysql1 opt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f959c27eb8b0 nginx "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:8081->80/tcp opt_web2_1
60e8f1e1ba90 nginx "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->80/tcp
向web挂载目录添加内容
echo "webweb" > /data/www/index.html
echo "web11111" > /data/www1/index.html
查看容器状态
[root@mysql1 opt]# docker-compose ps
Name Command State Ports
opt_web1_1 nginx -g daemon off; Up 0.0.0.0:8080->80/tcp
opt_web2_1 nginx -g daemon off; Up 0.0.0.0:8081->80/tcp
停止已有的容器:
[root@server ~]# docker-compose stop
Stopping root_app1_1 ... done
Stopping root_app2_1 ... done
[root@server ~]#
启动已有的容器:
[root@server ~]# docker-compose start
Starting app2 ... done
Starting app1 ... done
[root@server ~]#
查看容器的状态:
[root@server ~]# docker-compose ps
Name Command State Ports
root_app1_1 /bin/sh -c /usr/local/ngin ... Exit 137
root_app2_1 tail -f /etc/passwd Exit 137
[root@server ~]#
删除容器:
[root@server ~]# docker-compose rm -f
Going to remove root_app1_1, root_app2_1
Removing root_app1_1 ... done
Removing root_app2_1 ... done
[root@server ~]#
停止并删除运行中的容器:
[root@server ~]# docker-compose down
Stopping root_app1_1 ... done
Stopping root_app2_1 ... done
Removing root_app1_1 ... done
Removing root_app2_1 ... done
Removing network root_net2
Removing network root_net1
[root@server ~]# docker-compose ps
Name Command State Ports
部署MySQL5.7
vi docker-compose.yml
version: '3'
services:
mysql-server:
hostname: mysql-server
container_name: mysql-server
image: mysql:5.7
ports:
- 3306:3306
networks: - "net3"
volumes: - /data/mysql5721/data:/var/lib/mysql
command: --character-set-server=utf8
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
networks:
net3:
driver: bridge
进入MySQL查看
OK
转载于:https://blog.51cto.com/10158955/2152512
docker-compose编排最佳实战(多服务)相关推荐
- 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 使用Docker Compose编排Spring Cloud微服务
文章目录 Docker Compose快速人门 入门示例 使用Docker Comose编排Spring Cloud微服务 使用Maven插件读取Dockerfile进行构建 使用Maven插件构建D ...
- 【ODOO】Docker Compose 编排ODOO应用
Dockerfile Dockerfile 是一个用于构建自定义镜像的文本文件,文本内容包含了用于指导 Docker 创建自定义镜像的一系列指令,是用于创建镜像的蓝图. 这通常在将我们自己的程序打成D ...
- Docker Compose运行MySQL、Redis服务
Docker Compose运行MySQL.Redis服务 前言:通过容器来统一管理开发中使用到的依赖,顺便学习docker-compose 1.docker-compose.yml 文件说明 2.d ...
- Docker Compose 1.18.0 之服务编排详解
一个使用Docker容器的应用,通常由多个容器组成.使用Docker Compose,不再需要使用shell脚本来启动容器.在配置文件中,所有的容器通过services来定义,然后使用docker-c ...
- docker compose dns 缓存_Docker深入浅出 | Docker Compose多容器实战
Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...
- Docker Compose编排(写法格式及实验)
目录 一.Docker Compose前言 二.Docker compose 的文件结构 1.docker compose配置常用字段 2.docker compose常用命令 三.使用compose ...
- 安装Docker.v19和配置Docker Compose编排工具
博文目录 一.Compose简介 二.安装Docker 1.安装19.03.9版本Docker 2.配置镜像加速 三.安装使用Docker Compose 1.Github下载Docker Compo ...
- Docker Compose编排
目录 一.简介 二.安装部署compose 2.1 Docker compose 环境的安装 2.2 YAML 文件格式及编写注意事项 2.3 Docker Compose配置常用字段 2.4 Doc ...
- dockers-系统学习-docker compose服务编排
dockers-系统学习-docker compose服务编排 一.服务编排 1.1.概念 按照一定的业务规则批量管理容器 1.2.问题 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会 ...
最新文章
- 拿到淘宝offer后的胡思乱想plus面试总结
- 报错解决:RequestsDependencyWarning: urllib3 (1.24.3) or chardet (3.0.4) doesn't match a supported versio
- ​如何保护Java程序
- 以后版本网卡命名规则
- 读写App.config配置文件的方法
- 【Android】事件传递:向下拦截,向上处理
- 在集成测试中模拟耗时的动作
- 地理科学师范计算机,地理科学师范考研方向指导参考
- 演示Go语言多返回值功能
- gps导航计算机毕业设计开题报告,GPS导航计算机毕业设计开题报告.doc
- centos php mongodb 驱动,安装 MongoDB PHP 驱动 在CentOS 6.x和遇到的问题
- 微分方程和差分方程的区别与联系
- python动力学_用python学振动分析(一)
- python调节电脑音量_python如何调节音量大小
- 数字化转型需要双模IT
- 时空图卷积网络:一种用于交通预测的深度学习框架
- 解决create-react-app 集成ts 报error :because it would overwrite input file. TS5055 问题
- android手机获取系统短信sqlite数据库并查看内容
- vue+iview 兼容IE11浏览器
- 使用docker engine 运行时 集群部署 kubernetes v1.23