前面幾次對service講述很多了,創建,啟動,停止,刪除,service對外的訪問的方式,這次用了會繼續docker-swarm的services,但是這次用比較一種簡單方便的方式來完成,之前說過docker-compose本地的一個開發的工具,可以在本機進行部署。確實docker-compose帶來了很大的便利,之前講述wordpress和投票的app,但是對於swarm他是多節點的。針對swarm這種情況,咱們用docker來執行docker-compose.yml的方式。源碼:github.com/limingios/do

docker-compose文件

編輯docker-compose文件,從github下載下來。

cd labs/
cd wordpress/
more docker-compose.yml

  • compose的語法

version: 3

services:

web:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD: root
networks:
- my-network
depends_on:
- mysql
deploy:
mode: replicated
replicas: 3
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
update_config:
parallelism: 1
delay: 10s

mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-network
deploy:
mode: global
placement:
constraints:
- node.role == manager

volumes:
mysql-data:

networks:
my-network:
driver: overlay

docker-stack 部署

  • docker stack deploy 部署一個Compose模板到Docker集羣中作為一個stack,相當於之前的docker-compose up
  • docker stack ls 列出目前的所有stack*
  • docker stack ps 展示一個stack中對應的容器,相當於之前的*
  • docker-compose ps
  • docker stack rm 刪除一個stack以及它包含的服務和容器
  • docker stack services 展示stack下面對應的服務有了Docker stack的命令,我們就可以方便的把以前系統的Compose模板以內置編排Service的方式部署到現在的Docker集羣中。

#瞭解docker stack基本命令
docker stack

docker stack deploy wordpress --compose-file=docker-compose.yml
docker stack ps wordpress
docker stack services wordpress

PS:docker-stack 就是通過yml類似docker-compose的文件來進行多機的部署。


推薦閱讀:
相關文章