Docker入门——多容器的建立(docker-compose)
程序员文章站
2022-03-04 21:08:16
...
- 一次启动多个多个服务(容器),会方便我们在生产实践中的操作
以haproy 负载均衡 apache 服务与nginx服务为例- 通过compose 进行docker 的多容器应用
Compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。- 使用 Compose 基本会有如下三步流程:
- 在 Dockfile 中定义你的应用环境,使其可以在任何地方复制。
- 在 docker-compose.yml 中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行。
- 最后,运行dcoker-compose up,Compose 将启动并运行整个应用程序。
1. 编辑docker-compose.yml文件进行多镜像指定
1 apache: # apache 服务
2 image: rhel7:v1 # 父镜像名称
3 expose:
4 - 80 # 暴露端口
5 volumes: # 挂载卷
6 - ./web/:/var/www/html
7
8 nginx: # nginx 服务
9 image: nginx # 父镜像
10 expose:
11 - 80 # 暴露端口
12
13 haproxy: # haproxy 服务
14 image: haproxy # 父镜像
15 volumes: # 挂载卷
16 - ./haproxy:/usr/local/etc/haproxy
17 links: # 关联容器
18 - apache
19 - nginx
20 ports: # 端口映射
21 - "8080:80"
22 expose: # 暴露的服务端口
23 - 80
2. 编辑haproxy的配置文件
1 global # 全局配置,日志信息
2 log 127.0.0.1 local0
3 log 127.0.0.1 local1 notice
4 defaults
5 log global
6 option httplog
7 option dontlognull
8 timeout connect 5000ms
9 timeout client 50000ms
10 timeout server 50000ms
11 stats uri /status
12 frontend balancer
13 bind 0.0.0.0:80 # 监听端口
14 default_backend web_backends # 默认后后端
15 backend web_backends
16 balance roundrobin
17 server weba apache:80 check # 后端a apache 与 .yml 文件中的 links 中的内容对应
18 server webb nginx:80 check
查看所需文件是否充分
[root@foundation21 compose]# ls
docker-compose.yml haproxy web
[root@foundation21 compose]# pwd
/tmp/docker/compose
# 查看文件隶属关系
[root@foundation21 compose]# tree
.
├── docker-compose.yml
├── haproxy
│ └── haproxy.cfg
└── web
└── index.html
2 directories, 3 files
在cmopose目录喜下执行docker-compose up 命令进行同时启动多镜像
在浏览器中进行查看:
haproxy 实现了后端web服务器的负载均衡
上一篇: php怎么去掉字符串第一个字符串
下一篇: php如何设置日志输出
推荐阅读
-
Docker如何使用link建立容器之间的连接
-
使用IPython来操作Docker容器的入门指引
-
8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署
-
8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容器的理解
-
Docker-compose 建立ELK集群的实现方法
-
删除docker里建立容器的操作方法
-
Docker之在一个镜像中开启多服务,容器的安全机制,做压测,cgroup的权限限制,搭建私有仓库
-
基于docker-compose的多应用部署
-
应用容器引擎之 docker 学习 (九) 多容器管理工具Docker-compose实现 haproxy+nginx的负载均衡
-
组织一个多容器项目docker-compose