一步步创建第一个Docker App —— 4. 部署应用
原文:https://docs.docker.com/engine/getstarted-voting-app/deploy-app/在这一步中,将会使用第一步提到的 docker-stack.yml 文件来部署 voting 应用,到我们之前创建的集群swarm中。
复制 docker-stack.yml 到 manager 虚拟机
docker-stack.yml 文件必须在 manager machine 中装载。
1. 从 source code in the lab 中获得源码,或者从 here 获得。
亦可以使用 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 REPLICASIMAGE
9lmy35ux8t3xvote_vote replicated2/2 dockersamples/examplevotingapp_vote:before
dwurzjl7qa9avote_db replicated1/1 postgres:9.4
e1nx3l63tgtmvote_worker replicated0/1 dockersamples/examplevotingapp_worker:latest
t45lssaky8wevote_visualizerreplicated0/1 dockersamples/visualizer:stable
tph5wfiatiqyvote_redis replicated2/2 redis:alpine
z0v7nm0dokqpvote_result replicated0/1 dockersamples/examplevotingapp_result:before
数字 0 表示该 image 还没有下载复制,并没有运行
可使用命令 docker images 查看已经有的 镜像。
What’s next?
下一步,我们将要看到 app 在网页上运行的结果。
null
页:
[1]