在这一步中,将会使用第一步提到的 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. 【转】Google Chrome中顺时针/逆时针滚动圆的含义

    当浏览器处于以下状态时,看起来好像圆圈是逆时针滚动的: 解析主机名 连接服务器 等待响应(从服务器发送第一个字节之前?) 当浏览器处于以下状态时,圆圈似乎顺时针滚动: 加载页面或引用的资源 在标签页中 ...

  2. VB6 CHECK is run as admin privilege

    vb6 code: Private Declare Function IsUserAnAdmin Lib "Shell32" Alias "#680" () A ...

  3. 2017-2018 Exp1 PC平台逆向破解 20155214

    目录 Exp1 PC平台逆向破解 实验内容 知识点 官方源 中科大源 上海交大的源 新加坡源 debain源 debian安全更新源 163源的地址 阿里云kali源 启发 评论 Exp1 PC平台逆 ...

  4. 一步一步来熟悉Akka.Net(一)

    一步一步来熟悉Akka.Net(一) 标签(空格分隔): .netcore 分布式 一.不利flag   好久没写过文章了,翻开前几年写的博客,看到有两个目标"代码生成器"和&qu ...

  5. 数据库历险记(二) | Redis 和 Mecached 到底哪个好?

    文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3npq6ecr.bkt.clouddn.com/ ...

  6. 《Effective Java》学习笔记 —— 通用程序设计

    本章主要讨论局部变量.控制结构.类库.反射.本地方法的用法及代码优化和命名惯例. 第45条 将局部变量的作用域最小化 * 在第一次使用的它的地方声明局部变量(就近原则). * 几乎每个局部变量的声明都 ...

  7. Js_获取当前日期时间

    一.获取当前时间 new Date()方法---------得到结果是当前电脑时间如2011-11-6,10:07 二.获取有个固定的时间方法---------var endtime=new Date ...

  8. Notepad++常用插件

    Notepad++常用插件 1.CCompletion 进行文本的方法查找的工具. 会点击Ccompletion中的CCompletion菜单,就会出现菜单选择框 2.Compare 进行文本比较的工 ...

  9. 论文阅读 | Clustrophile 2: Guided Visual Clustering Analysis

    论文地址 论文视频 左侧边栏可以导入数据,或者打开以及前保存的结果.右侧显示了所有的日志,可以轻松回到之前的状态,视图的主区域上半部分是数据,下半部分是聚类视图. INTRODUCTION 数据聚类对 ...

  10. 3Sum(or k_Sum)

    Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find ...