Docker-compose 容器编排

LNMP场景

LN:         A容器
MYSQL:      B容器
Redis:      C容器

1、想启动A容器时,B容器必须先启动。2、C容器要启动,B容器必须先启动。

实现方法,就是使用docker-compose单机编排工具 Docker-compose

一、环境准备

yum -y install python-pip
pip install docker-compose
#如果下载启动有问题可到gitbug下载二进制版本,chmod +x 给执行权限即可
https://github.com/docker/compose/releases

#二、创建ocker-compose.yml编排文件

[root@Cent0S7 docker]# vim docker-compose.yml 

web1:
  image: nginx
  volumes:
    - /root/docker/index1.html:/usr/share/nginx/html/index.html
  expose:
    - 80

web2:
  image: nginx
  volumes:
    - /root/docker/index2.html:/usr/share/nginx/html/index.html
  expose:
    - 80

haproxy:
  image: haproxy
  volumes:
    - /root/docker/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
  links:
    - web1
    - web2
  ports:
    - "7777:1080"
    - "80:80"

三、启动编排

docker-compose up /root/docker/ocker-compose.yml 
docker-compose -d up /root/docker/ocker-compose.yml     #生产环境加-d参数

 

haproxy.cfg内容

global
  log 127.0.0.1 local0
  log 127.0.0.1 local1 notice
  maxconn 4096

defaults
  log global
  mode http
  option httplog
  option dontlognull
  timeout connect 5000ms
  timeout client 5000ms
  timeout server 5000ms

listen stats
  bind 0.0.0.0:1080
  mode http
  stats enable
  stats hide-version
  stats uri /stats
  stats auth admin:admin

frontend balance
  bind 0.0.0.0:80
  default_backend web_backends

backend web_backends
  mode http
  option forwardfor
  balance roundrobin
  server web1 web1:80 check
  server web2 web2:80 check