記錄 Docker 的學習過程 (單機編排)

容器的編排html

什麼是容器的編排?
就是讓容器有序的啓動並在啓動的過程加以控制node

docker-compose -f bainpaiwenjian.yul up 若是編排文件爲默認名稱docker-compose.yul則無需加參數 -f 以及 編排文件即
docker-compose up 由於它會自動尋找 docker-compose.yul文件,通常都會加-d 放在後臺啓動linux


下面在/opt 目錄下建立如下4個文件nginx


docker-compose.yml haproxy.cfg index1.html index2.htmlweb

[root@linux-node1 opt]# cat index1.html
web1
[root@linux-node1 opt]# cat index2.html
web2docker


[root@linux-node1 opt]# cat haproxy.cfg
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
stats uri /status瀏覽器

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

frontend balancer
bind 0.0.0.0:80
default_backend web_backendstcp

backend web_backends
balance roundrobin
server server1 web1:80 check
server server2 web2:80 checkide

 

[root@linux-node1 opt]# cat docker-compose.yml
web1:
image: nginx #定義鏡像
expose: #容器內部開放的端口
- 80
volumes:
- /opt/index1.html:/usr/share/nginx/html/index.html #掛載 將/opt/index1.html 掛載給給容器

web2:
image: nginx
expose:
- 80
volumes:
- /opt/index2.html:/usr/share/nginx/html/index.html
haproxy:
image: haproxy
volumes:
- /opt/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg

links: #依賴,haproxy必須依賴於web1還有web2,若是web1 web2起不來,haproxy也不會工做
- web1
- web2
ports:
- "80:80"
- "7777:1080" 將haproxy中設置的1080端口映射到宿主機的7777端口


如今就能夠運行編排工具了,生產環境要加上-d參數,使其在後臺運行
node1 # docker-compose up
Starting 14ee8e7d111e_opt_web2_1 ... done
Starting 2ee1b18634d1_opt_web1_1 ... done
Recreating opt_haproxy_1 ... done
Attaching to 2ee1b18634d1_opt_web1_1, 14ee8e7d111e_opt_web2_1, opt_haproxy_1
14ee8e7d111e_opt_web2_1 | WARNING: no logs are available with the 'fluentd' log driver
2ee1b18634d1_opt_web1_1 | WARNING: no logs are available with the 'fluentd' log driver
haproxy_1 | WARNING: no logs are available with the 'fluentd' log driver


此時就能夠訪問192.168.56.11了,能夠發現不停的刷新 能夠看到haproxy開始起做用了,web1和web2會交替的顯示,
而後再打開http://192.168.56.11:7777/stats 能夠看到haproxy的狀態,另外能夠打開kibana查看日誌

node1# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
844626e0de4d haproxy "/docker-entrypoint.…" 12 minutes ago Up 12 minutes
0.0.0.0:80->80/tcp, 0.0.0.0:7777->1080/tcp opt_haproxy_1
14ee8e7d111e nginx "nginx -g 'daemon of…" 2 hours ago Up 12 minutes 80/tcp
14ee8e7d111e_opt_web2_1
2ee1b18634d1 nginx "nginx -g 'daemon of…" 2 hours ago Up 12 minutes 80/tcp
2ee1b18634d1_opt_web1_1
此時咱們停掉一臺nginx主機
node1 # docker stop 2ee1b18634d1_opt_web1_1
再次刷新瀏覽器發現,只有web2了,說明haproxy工做沒有問題,再進入haproxy的管理頁面,發現其中的一臺nginx已經掛了,
而後咱們再把剛纔停掉的主機啓動

node1 # docker start 2ee1b18634d1_opt_web1_1
2ee1b18634d1_opt_web1_1
此時刷新瀏覽器又正常了

 https://www.cnblogs.com/52fhy/p/5991344.html

相關文章
相關標籤/搜索