復制 docker-stack.yml 到 manager 虛擬機
docker-stack.yml
文件必須在 manager machine 中裝載。
亦可以使用 curl 從 github 上直接下載到當前目錄。在powershell中直接運行該命令:
curl -o docker-stack.yml https://raw.githubusercontent.com/docker/example-voting-app/master/docker-stack.yml
當在桌面目錄下執行,則會在桌面上看到該文件:docker-stack.yml
2. 將 docker-stack.yml 文件,從PC主機,復制到 manager 虛擬機中。
不知為何這一步一直報錯:“You must have a copy of the scp binary locally to use the scp feature”。所以這里大家可以ssh登錄manager,然后使用 1 中的命令,直接下載到 manager 主機上。
3. ssh登錄 manager 虛擬機
默認會登錄到目錄 /home/docker 下
4. 確定docker-stack.yml文件已經在目錄下
部署 app
我們接下來會從 manager 部署我們的應用。
1. 依據 .yml 文件部署 application stack,使用如下命令:
docker
stack deploy --compose-file docker-stack.yml vote
下面是命令的輸出:
1
2
3
4
5
6
7
8
9
10
|
docker@manager:~$ docker stack deploy -
-compose
-file
docker
-stack
.yml vote
Creating network vote_frontend
Creating network vote_backend
Creating network vote_default
Creating service vote_vote
Creating service vote_result
Creating service vote_worker
Creating service vote_visualizer
Creating service vote_redis
Creating service vote_db
|
2. 驗證部署結果
:
docker stack services <APP-NAME>
.docker@manager:~$ docker service
ls
ID NAME MODE REPLICAS IMAGE
9lmy35ux8t3x vote_vote replicated 2
/2
dockersamples
/examplevotingapp_vote
:before
dwurzjl7qa9a vote_db replicated 1
/1
postgres:9.4
e1nx3l63tgtm vote_worker replicated 0
/1
dockersamples
/examplevotingapp_worker
:latest
t45lssaky8we vote_visualizer replicated 0
/1
dockersamples
/visualizer
:stable
tph5wfiatiqy vote_redis replicated 2
/2
redis:alpine
z0v7nm0dokqp vote_result replicated 0
/1
dockersamples
/examplevotingapp_result
:before
數字 0 表示該 image 還沒有下載復制,並沒有運行
可使用命令 docker images 查看已經有的 鏡像。
What’s next?
下一步,我們將要看到 app 在網頁上運行的結果。