复制 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 在网页上运行的结果。