前提条件:

  1. Docker创建虚机和swarm
  2. 如何用Docker建立一个Node.js的开发环境

正文:

  1. 如何用Docker建立一个Node.js的开发环境文中创建的nodehello image发布到官网上。

执行docker images列出当前所有的image.

执行docker login登录

给nodehello image打上tag:

docker tag image username/repository:tag

例如:

docker tag nodehello john/get-started:part2

发布image:

docker push username/repository:tag

例如:

docker push nodehello john/get-started:part2

发布的目的在于在虚机里面也能访问,如果直接用host机器上的image的名字,虚机中可能访问不到。

  1. 如何用Docker建立一个Node.js的开发环境中定位到的目录中创建一个名为docker-stack.yml的文件。
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: username/repo:tag
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "3000:3000"
networks:
- webnet
networks:
webnet:

注意里面的image最好用发布到官网的tag名字,例如:john/get-started:part2,如果直接用host机器上的image的名字,虚机中可能访问不到。

  1. 用管理员身份运行powershell, 用docker-machine env切换到myvm1上面, 然后将目录切换到步骤2的目录,然后运行下面的命令:
docker stack deploy -c <compose file> <stack name>
例如:
docker stack deploy -c docker-stack.yml getstartedlab_node

运行完以后会提示getstartedlab_node_webnet和getstartedlab_node_web已经创建完成类似的字样。

  1. 查看当前的service.

Docker service ls

会列出部署成功的service,应该会显示getstartedlab_node_web的部署情况。如果replica出现0/5类似的字样,也不用担心,此时可以执行

Docker service ps <service name>

然后查看CURRETN STATE列,如果出现preparing类似的字样,说明服务还么有部署完成,过一会重新执行命令查看即可。如果出现了running类似的字样,说明服务已经启动,此时可以就可以访问了。

  1. 根据我们的配置,访问http://<myvm1's ip>:3000

    应该就可以看到我们的node.js程序输出的结果了。

Docker: 如何将node.js的项目部署到docker的swarm上面去的更多相关文章

  1. 8 步搭建 Node.js + MongoDB 项目的自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这篇文章中,我们通过创建一个 Node.js + MongoDB 项目 ...

  2. iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备

    安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await ...

  3. Node JS后端项目开发与生产环境总结

    原文地址:Node JS后端项目开发与生产环境总结 Node JS常用后端框架有express.koa.sails.国产框架有个egg js,已经在cnode投入生产了,还有个think js,类似t ...

  4. 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行

    实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第 ...

  5. IIS 部署 node.js ---- 基础安装部署

    一些可能有用的相关文章: https://blogs.msdn.microsoft.com/scott_hanselman/2011/11/28/window-iisnode-js/ http://b ...

  6. Docker常见仓库Node.js

    Node.js 基本信息 Node.js是基于 JavaScript 的可扩展服务端和网络软件开发平台. 该仓库提供了 Node.js 0.8 ~ 0.11 各个版本的镜像. 使用方法 在项目中创建一 ...

  7. Docker学习之——Node.js+MongoDB+Nginx环境搭建(一)

    最近在学习Node.js相关知识,在环境搭建上耗费了不少功夫,故此把这个过程写下来同大家分享一下,今天我先来介绍一下Docker,有很多人都写过相关知识,还有一些教程,在此我只想写一下,我的学习过程中 ...

  8. vue3+node全栈项目部署到云服务器

    一.前言 最近在B站学习了一下全栈开发,使用到的技术栈是Vue+Element+Express+MongoDB,为了让自己学的第一个全栈项目落地,于是想着把该项目部署到阿里云服务器.经过网上一番搜索和 ...

  9. Egret及Node.js的安装部署

    最近在学Html5游戏开发,我选择的是国内的一个游戏开发框架egret.因为涉及到node.js这个近年来新兴起来的技术.借此机会把这方面知识学习一下. node.js以及egret的操作类似于Lin ...

随机推荐

  1. Programming internal SRAM over SWD

    https://github.com/MarkDing/swd_programing_sram // // Copyright (c) 2013 SILICON LABORATORIES, INC. ...

  2. hdu4333 Revolving Digits(扩展kmp)

    Revolving Digits Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. 得到Revit子窗体

    start /// <summary> /// 得到主窗体句柄 /// </summary> /// <returns></returns> publi ...

  4. 在ASP.NET Web API中使用OData的Action和Function

    本篇体验OData的Action和Function功能.上下文信息参考"ASP.NET Web API基于OData的增删改查,以及处理实体间关系".在本文之前,我存在的疑惑包括: ...

  5. 在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建

    通常,在同一个页面上实现增删改查,会通过弹出框实现异步的添加和修改,这很好.但有些时候,是不希望在页面上弹出框的,我们可能会想到Knockoutjs,它能以MVVM模式实现同一个页面上的增删改查,再辅 ...

  6. 在ASP.NET MVC中使用Knockout实践05,基本验证

    本篇体验View Model验证.Knockout的subscribe方法能为View Model成员注册验证规则. @{ ViewBag.Title = "Index"; Lay ...

  7. JavaScript:回调模式(Callback Pattern)

    函数就是对象,所以他们可以作为一个参数传递给其它函数: 当你将introduceBugs()作为一个参数传递给writeCode(),然后在某个时间点,writeCode()有可能执行(调用)intr ...

  8. delphiredisclient开源GIT

    delphiredisclient - Redis client for Delphi Delphi Redis Client版本2(此分支)与Delphi 10.1 Berlin兼容,更好.警告!如 ...

  9. 移动web前端小结

    原文地址:http://blog.csdn.net/small_rice_/article/details/22690535 在智能手机横行的时代,作为一个web前端,不会编写移动web界面,的确是件 ...

  10. iOS开发25:使用SOAP访问Web服务

    SOAP是简单对象访问协议,它可看成是HTTP与XML的结合,其中XML部分是作为HTTP报文的实体主体部分.具体信息可以参考百度百科. 在iOS中使用SOAP,需要我们自己组装XML格式的字符串,当 ...