自建docker swarm體驗簡單之美
阿新 • • 發佈:2017-07-20
hab 3.2 ebs acs docs nal 自建 port advertise
之前用的阿裏雲容器服務,但由於acsrouting的路由錯亂問題,被逼上自建docker swarm的梁山。今天嘗試自己搭建docker swarm,竟然輕松搞定,簡單的超乎想象。
以下是實際搭建操作步驟:
1. 創建集群
# docker swarm init --advertise-addr 10.251.242.231 Swarm initialized: current node (m9dfl7r9wo1e9jxsp3oe5du3x) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token xxx 10.251.242.231:2377 To add a manager to this swarm, run ‘docker swarm join-token manager‘ and follow the instructions.
主:10.251.242.231 是 docker 主機的內網IP地址
2. docker info 查看剛剛創建的集群信息
Swarm: active NodeID: m9dfl7r9wo1e9jxsp3oe5du3x Is Manager: true ClusterID: j01wzizw7gy0ck95p1d7a4pmv Managers: 1 Nodes: 1 Orchestration: Task History Retention Limit: 5
3. docker node ls 查看節點信息
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS m9dfl7r9wo1e9jxsp3oe5du3t * swarm-websites-node1 Ready Active Leader
4. 創建用於部署應用容器的網絡
# docker network create --driver=overlay --attachable cnblogs
5. 創建用於部署Docker Flow Proxy容器的網絡(Docker Flow Proxy支持根據主機名將請求轉發至對應的應用容器)
docker network create --driver overlay proxy
6. 查看剛剛創建的網絡
# docker network ls NETWORK ID NAME DRIVER SCOPE rl96kcw8ytpa cnblogs overlay swarm 61kbxtvnivkx proxy overlay swarm
7. 部署 Docker Flow Proxy stack
7.1 下載 docker-compose-stack.yml 文件
# curl -o docker-compose-stack.yml https://raw.githubusercontent.com/vfarcic/docker-flow-proxy/master/docker-compose-stack.yml
7.2 部署 stack
# docker stack deploy -c docker-compose-stack.yml proxy
8. 編寫示例應用 openapi 的 docker-compose-stack.yml
version: ‘3.2‘ services: api: image: open-api:latest deploy: replicas: 2 update_config: delay: 5s labels: - com.df.notify=true - com.df.distribute=true - com.df.serviceDomain=api.cnblogs.com - com.df.port=80 networks: - cnblogs - proxy networks: cnblogs: external: true proxy: external: true
9. 部署示例應用的 stack
docker stack deploy -c docker-compose-stack.yml openapi
10. 部署完成後可以通過 http://api.cnblogs.com 訪問運行在 openapi_api service 中的站點
【參考資料】
- Getting started with swarm mode
- Using Docker Stack To Run Docker Flow Proxy In Swarm Mode
自建docker swarm體驗簡單之美