使用docker compose部署服务【转】
来源:互联网 发布:罗浮威尔瓷砖 知乎 编辑:程序博客网 时间:2024/06/05 07:10
来自:http://blog.csdn.net/yl_1314/article/details/53761049
谈到微服务的话题,技术上我们往往会涉及到多服务、多容器的部署与管理。
Docker 有三个主要的作用:Build, Ship和Run。使用docker compose我们可以在Run的层面解决很多实际问题,如:通过创建compose(基于YUML语法)文件,在这个文件上面描述应用的架构,如使用什么镜像、数据卷、网络、绑定服务端口等等,然后再用一条命令就可以管理所有的服务(如启动、停止、重启、日志监控等等)。
本文通过发布3个APP(App1,App2,App3),来演示Docker在服务发布、网络、共享分区以及信息隔离与连通方面的工作:
1.安装Compose:
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
2.服务物理框架
说明:
a.Container1和2共在一个network namespace(netName1)内,Container3独立network namespace(netName2)
b.Container1挂载了一个系统卷(/opt/conf)到/mnt
c.Container3挂载了一个系统卷(./app/web)到/usr/share/nginx/html
c.Container1,2,3 nginx监听端口分别为:8080,8081,8082
3.docker-compose.yml 内容
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
4.运行
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
在后台运行:[root@docker compose]# docker-compose up -d
5.查看容器运行状态
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
其他命令:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
6.验证网络隔离:
a.到App1 ping App2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
成功ping通
b.到App2 ping App1和App3
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
App2 to App3-成功
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
7.验证共享卷
a. 在host /opt/conf/ 目录下新建nginx.conf 文件
- 1
- 2
- 3
- 1
- 2
- 3
b.登录到App1 和App2查看
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
c. 在App3中挂载文件到nginx
修改docker-compose.yml App3:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
在host ./app/web 中添加 app3.html
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
访问App3 nginx:
8.总结
本文演示了通过 Docker Compose进行多容器创建,以及容器间服务的管理,如网络隔离、卷数据共享。以及对容器的日常管理。
- 使用docker compose部署服务【转】
- 使用docker compose部署服务
- docker以及docker-compose 使用加速器部署
- Docker-Compose服务编排
- docker-compose 部署hadoop集群
- docker-compose的使用
- Docker compose的使用
- Docker & Docker-Compose安装、使用
- Docker之Compose服务编排
- Docker之Compose服务编排
- 学习使用Docker、Docker-Compose和Rancher搭建部署Pipeline(一)
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(二)
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(三)
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(四)
- Docker-compose使用全解
- Docker-compose使用全解
- Docker-compose使用全解
- docker-compose安装和使用
- 二叉树前序、中序、后序遍历相互求法
- struts2_11.2_OGNL(2)
- 结构型模式之桥接模式(Bridge)
- npm install -g n 运行错误
- Golang应用的多场景Dockerfile
- 使用docker compose部署服务【转】
- xajax简单例子,复制运行就明白了
- 理解 Glance
- 【厚积薄发】编程技术总结3—递归函数使用的优缺点详解
- 前端跨域问题遇到的坑及解决方式
- eclipse调试时设置浏览器
- php-fpm报502问题
- Buffer中的flip()
- Redis单核CPU占用过高