乐趣区

关于前端:用-Docker-打包-Nodejs-程序

作者:NJOKU SAMSON EBERE

原文:https://dev.to/ebereplenty/do…

你听到过这样的对话吗?

 程序猿 1:在我的计算机上不能用 ????

程序猿 2:在我这里好好的啊 ????

这种对话很常见。这个别是因为工作环境设置或配置不同而引起的。这就是为什么要应用 docker 的次要目标。

在文中,我将教你什么是 docker,为什么应用以及怎么用来给 nodejs 程序打包。

什么是 Docker?

Docker 的定义为:

Docker 是一个容器化平台,用于将应用程序及其依赖项打包在一起,以确保无论工作环境如何,应用程序都能轻松运行。

好吧,这些文字只是通知咱们:

Docker 是一种用容器轻松创立、部署和运行应用程序的工具。

为什么要应用 Docker?

Docker 会将你的机器环境与你的代码一起提供给其他人,这样当你团队搭档失去你的代码时,他们也能够失去你的机器配置。因为代码在领有这些配置的计算机上运行,​​因而必定能够在其它计算机上运行,​​因为它们具备和你雷同的配置。

当初能够把用在配置新计算机上的工夫投入到更具更重要的工作中。

如何应用 Docker?

装置

  • 请拜访 Docker 官网
  • 在菜单中的 Docker Desktop 选项卡下查看如何为你的机器装置 docker

Windows 用户请留神

1. 你须要在计算机中启用虚拟化。要查看是否启用了虚拟化,请依照以下步骤操作:

  • 在键盘上按 ctrl + alt + del
  • 在随后的菜单中选择“工作管理器”
  • 在弹出的 Windows 对话框中单击“性能”标签。这是我的

2. 对于应用 Windows 8 或更早版本的用户,请应用 docker toolbox

用 Docker 给 Nodejs 程序打包

确保已启动 docker,并且将其设置为 running,以便你查看更改或 docker 成果。

  • 首先从 github 克隆我的项目
  • 依照自述文件中的阐明设置我的项目。
  • 如果你设置实现了我的项目并且运行了服务器,则应该在浏览器中失去以下响应

  • 接下来,在我的项目的根目录中创立一个文件,并将其命名为 Dockerfile,不带扩展名。

配置 Dockerfile

  • 在文件中输出以下代码来指定咱们正在应用的 docker node
# use docker node 10
FROM node:10
  • 输出以下代码为 Docker 利用创立目录
# create a directory to run docker
WORKDIR /app
  • 以下代码把 package.json 文件复制到 /app 目录中
# copy package.json into the new directory
COPY package.json /app
  • 以下代码在 Docker 利用中装置我的项目的依赖项
# install the dependencies
RUN npm install
  • 当初把我的项目中的所有的文件和文件夹复制到 docker 的 /app 目录中。以下是代码:
# copy all other files and folder into the app directory
COPY . /app
  • 以下代码指定 docker 利用运行的端口
# open port 5000
EXPOSE 5000
  • 应用以下代码运行 docker 利用
# run the server
CMD node index.js

当初咱们的 Dockerfile 看起来是这样:

# use docker node 10
FROM node:10

# create a directory to run docker
WORKDIR /app

# copy package.json into the new directory
COPY package.json /app

# install the dependencies
RUN npm install

# copy all other files into the app directory
COPY . /app

# open port 5000
EXPOSE 5000


# run the server
CMD node index.js

构建 Docker 利用

  • 要构建 docker 利用,请在终端中键入以下命令,而后按 Enter
docker build -t docker-node-app .

你的终端应输入相似上面的信息:

在下面的命令中,docker-node-app 是咱们正在创立的 docker 利用的名称。你的可能会有所不同。另外,请不要遗记结尾处的句点(.

运行 Docker App

  • 最初在终端中用以下命令运行 docker 利用:
docker run -it -p 5000:3000 docker-node-app

它会输入与一般利用完全相同的音讯,然而这次,它加载在端口 5000 上

在下面的命令中,咱们通知 docker 运行在端口 5000 上构建的程序,即便咱们的程序运行在端口 3000 上。

后果

当初,咱们的 Docker 运行在 5000 端口上,而原始利用程序运行在 3000 端口上。查看你的浏览器

要查看所有正在运行的 docker 程序,请在终端中应用以下命令

docker ps

如果查看 Docker 仪表板,则会看到你的 Docker 程序:

你曾经用 docker 创立了你的第一个部署????。

总结

在疾速迭代的零碎中,docker 是很重要。因而咱们须要学习它。

咱们应用的大多数代码都在 docker hub 上找到。像 Microsoft、mongoDB、PHP 等许多公司曾经为这些事件制作了代码(或镜像),因而你须要做的就是制作本人的正本。

这些配置称为镜像。例如能够在这里找到咱们所应用的 node 镜像。

谢谢你的浏览。????


本文首发微信公众号:前端先锋

欢送扫描二维码关注公众号,每天都给你推送陈腐的前端技术文章

欢送持续浏览本专栏其它高赞文章:

  • 深刻了解 Shadow DOM v1
  • 一步步教你用 WebVR 实现虚拟现实游戏
  • 13 个帮你进步开发效率的古代 CSS 框架
  • 疾速上手 BootstrapVue
  • JavaScript 引擎是如何工作的?从调用栈到 Promise 你须要晓得的所有
  • WebSocket 实战:在 Node 和 React 之间进行实时通信
  • 对于 Git 的 20 个面试题
  • 深刻解析 Node.js 的 console.log
  • Node.js 到底是什么?
  • 30 分钟用 Node.js 构建一个 API 服务器
  • Javascript 的对象拷贝
  • 程序员 30 岁前月薪达不到 30K,该何去何从
  • 14 个最好的 JavaScript 数据可视化库
  • 8 个给前端的顶级 VS Code 扩大插件
  • Node.js 多线程齐全指南
  • 把 HTML 转成 PDF 的 4 个计划及实现

  • 更多文章 …
退出移动版