欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 命令进行同时启动多镜像
Docker入门——多容器的建立(docker-compose)
在浏览器中进行查看:
haproxy 实现了后端web服务器的负载均衡
Docker入门——多容器的建立(docker-compose)
Docker入门——多容器的建立(docker-compose)

相关标签: Docker compose