在这一步中,将会使用第一步提到的 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        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 在网页上运行的结果。

一步步创建第一个Docker App —— 4. 部署应用的更多相关文章

  1. 一步步创建第一个Docker App —— 1. 背景介绍

    原文:https://docs.docker.com/engine/getstarted-voting-app/#/docker-stacks-and-services 你将会学习什么    本文创建 ...

  2. 一步步创建第一个Docker App —— 2. 创建 Docker化 主机

    原文:https://docs.docker.com/engine/getstarted-voting-app/node-setup/ 部署voting app的第一步,是为集群节点(swarm no ...

  3. 一步步创建第一个Docker App —— 3. 创建一个集群Swarm

    原文:https://docs.docker.com/engine/getstarted-voting-app/create-swarm/ 初始化集群 Swarm 1. 使用 ssh 命令登录 man ...

  4. django学习笔记【002】创建第一个django app

    2.3.3 1.创建一个名叫polls的app python3. manage.py startapp polls tree mysite/ mysite/ ├── db.sqlite3 ├── ma ...

  5. Cordova - Windows 下创建第一个 Android App

    官方文档: Create your first Cordova app Android Platform Guide 安装 JDK 和 Android SDK 注意: 需要将 JK 和 Android ...

  6. 一步步创建第一个Vue项目

    写在了GitHub https://github.com/TaoPanfeng/vue-cms 1 初始化 创建一个文件夹 vue-cms 在vue-cms目录下创建文件 package.json 在 ...

  7. NodeJS笔记(五) 使用React Native 创建第一个 Android APP

    参考:原文地址 几个月前官方推出了快速创建工具包,由于对React Native不熟悉这里直接使用这2个工具包进行创建 1. create-react-native-app(下文简称CRNA): 2. ...

  8. Docker - 创建第一个 docker 实例

    1. 概述 安装完准备开始使用 2. 环境 os centos 7 docker docker - ce 19.03 3. 步骤 启动docker > systemctl start docke ...

  9. 编写第一个Flutter App(翻译)

    博客搬迁至http://blog.wangjiegulu.com RSS订阅:http://blog.wangjiegulu.com/feed.xml 以下代码 Github 地址:https://g ...

随机推荐

  1. FakeID签名漏洞分析及利用(一)

    作者:申迪   转载请注明出处: http://blogs.360.cn/360mobile BlueBox于7月30日宣布安卓从2010年以来一直存在一个apk签名问题[1],并且会在今年Black ...

  2. WPF Get jiayuan outbox list(send mail box)

      Request URL: http://www.jiayuan.com/msg/outbox/list.php Request Method: POST form data: type=all&a ...

  3. C# HtmlAgilityPack和AngleSharp 解析HTML

     C# HtmlAgilityPack和AngleSharp 解析HTML by:wgscd date:2018-1-17 HtmlAgilityPack 有点是只有一个单独DLL.AngleShar ...

  4. 20155304《网络对抗》MSF基础应用

    20155304<网络对抗>MSF基础应用 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如ms08_ ...

  5. 20155305《网络对抗》MSF基础应用

    20155305<网络对抗>MSF基础应用 实验过程 实验系统 靶机1:Windows XP Professional SP2 ,IP地址:192.168.1.108 靶机2:Window ...

  6. 通过定义过滤器filter解决跨域问题

            跨域是比较常见问题,比较简单的方式就是直接定义一个过滤器filter,然后在请求头里面加上一些参数.下面来看看具体的写法吧. 一.java代码 package com.hj.usera ...

  7. libgdx学习记录23——图片移动选择

    模拟移动选择图片,采用相机实现. package com.fxb.newtest; import com.badlogic.gdx.ApplicationAdapter; import com.bad ...

  8. idea 中全局查找不到文件 (两shift),单页搜索不到关键字的原因

    全局查找不到文件是因为把要找的目录的本级或者上级设置为了额外的,所以自然找不到 而单页搜索不到内容是因为设置了words关键字,这个要全部都输入完才能找到(也就是整个关键字进行匹配,匹配到了整体才会查 ...

  9. python基础篇----基本数据类型

    bit  #bit_length 当前数字的二进制,只用用n位来表示a = 123b = a.bit_length()print(b)#==>7

  10. linuxC/C++面试问题总结整理

    linuxC/C++面试问题总结整理 因为一些原因重新找工作了,面的linux c/c++,这里把面试中经常碰到的问题总结一下. linuxC/C++面试问题总结整理 单元测试 关键字const 关键 ...