iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Docker中怎么编写dockerfile启动node.js应用
  • 793
分享到

Docker中怎么编写dockerfile启动node.js应用

dockerdockerfilenode.js 2022-12-02 15:12:31 793人浏览 安东尼
摘要

本文小编为大家详细介绍“Docker中怎么编写dockerfile启动node.js应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker中怎么编写dockerfile启动node.js应用”文章

本文小编为大家详细介绍“Docker中怎么编写dockerfile启动node.js应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker中怎么编写dockerfile启动node.js应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

编写 dockerfile

以 express 自动创建的目录为例,目录结构如下:

├── /bin
│  └── www
├── /node_modules
├── /public
├── /routes
├── /views
├── package-lock.JSON
├── package.json
├── ecosystem.config.js
├── app.js
└── dockerfile

项目目录下新建 dockerfile 文件

from node:10.15
maintainer sunhengzhe@foxmail.com
copy . /app/
workdir /app
run npm install pm2 -g
expose 8003
cmd ["pm2-runtime", "ecosystem.config.js"]
  • from 指定基础镜像为 node 的 10.15 版本(node 官方版本可)

  • maintainer 说明镜像的维护者

  • copy 命令将宿主机的文件拷贝到镜像中,格式为 copy [--chown=<user>:<group>] <源路径>... <目标路径>,这里将项目目录下的所有文件都拷贝到镜像中的 /app 目录下。如果目标路径不存在,docker 将自动创建。

  • workdir 用来指定工作目录,即是 cmd 执行所在的目录。

  • run 命令用来执行 shell 命令,这里用来安装 pm2

  • expose 命令用来 声明 运行时容器提供服务端口,但要注意运行时并不会开启这个端口的服务。这个命令主要是帮助使用者理解这个镜像服务的守护端口,以方便配置映射;另外在使用随机端口映射时,会自动随机映射 expose 的端口

  • cmd 是默认的容器主进程的启动命令

构建镜像

在项目目录下执行

docker build -t express-app:v1 .

如果构建成功,查看镜像列表

docker images

应该会输出镜像 express-app:v1

Docker中怎么编写dockerfile启动node.js应用

运行容器

docker run -d -p 8003:3000 --name="express-app" express-app:v1

docker run 是 docker create 和 docker start 两个命令的简写。

  • -d 即 --detach,代表让容器后台运行。

  • -p 指定宿主机和容器的端口映射,左边为宿主机的端口,右边为容器的端口,也就是说访问宿主机的 8003 端口,会映射到容器内的 3000 端口。

  • --name 设置容器别名,如果不指定,docker 会随机生成一个名字,比如 tender_swirles 之类的。

执行

docker ps

正常展示如下

Docker中怎么编写dockerfile启动node.js应用

添加 -a 参数可以查看所有已启动容器。

进入容器

如果要进入容器进行操作,执行下面命令

docker exec -it express-app bash

Docker中怎么编写dockerfile启动node.js应用

-i 与 -t 一般结合使用,-i 启动交互模式,-t 指定需要分配终端,可以自行尝试不传其中一个的效果。

与 exec 类似的还有 attach 命令,命令为 docker attach express-app,但从这个 stdin 中 exit,会导致容器的停止,所以推荐使用 exec 命令。

关闭操作

停止容器

docker stop express-app

删除容器

docker rm express-app

如果删除时容器还在运行,需要加上 -f 参数

删除镜像

docker rmi express-app:v1

读到这里,这篇“Docker中怎么编写dockerfile启动node.js应用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程服务器栏目。

--结束END--

本文标题: Docker中怎么编写dockerfile启动node.js应用

本文链接: https://www.lsjlt.com/news/173884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker中怎么编写dockerfile启动node.js应用
    本文小编为大家详细介绍“Docker中怎么编写dockerfile启动node.js应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker中怎么编写dockerfile启动node.js应用”文章...
    99+
    2022-12-02
    docker dockerfile node.js
  • Docker怎么编写dockerfile启动node.js应用
    这篇文章主要讲解了“Docker怎么编写dockerfile启动node.js应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么编写dockerfile启动node.js应用...
    99+
    2023-06-17
  • Docker中怎么使用dockerfile启动node.js应用
    这篇文章主要介绍“Docker中怎么使用dockerfile启动node.js应用”,在日常操作中,相信很多人在Docker中怎么使用dockerfile启动node.js应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-04
  • Docker如何使用dockerfile启动node.js应用
    本篇内容介绍了“Docker如何使用dockerfile启动node.js应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2024-04-02
  • docker中Dockerfile的ONBUILD命令怎么用
    这篇文章将为大家详细讲解有关docker中Dockerfile的ONBUILD命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。    ONBUILD:当构建...
    99+
    2023-06-04
  • Node.js中怎么应用反应式编程
    本篇内容主要讲解“Node.js中怎么应用反应式编程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中怎么应用反应式编程”吧!反应式编程提供了先进的...
    99+
    2024-04-02
  • 怎么用Node.js编写内存效率高的应用程序
    这篇文章主要介绍怎么用Node.js编写内存效率高的应用程序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题:大文件复制如果有人被要求用 NodeJS 写一段文件复制的程序,那么他会迅速写出下面这段代码:const...
    99+
    2023-06-14
  • 怎么用C++编写node.js原生模块
    本篇内容主要讲解“怎么用C++编写node.js原生模块”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C++编写node.js原生模块”吧!Hello World不能免俗,第一个先上来写个...
    99+
    2023-07-04
  • 怎么用Shell命令启动Docker Container
    这篇文章主要介绍“怎么用Shell命令启动Docker Container”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Shell命令启动Docker Container”...
    99+
    2023-06-29
  • Linux中python自启动和定时启动脚本怎么写
    这篇“Linux中python自启动和定时启动脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux中pytho...
    99+
    2023-06-28
  • 怎么使用C/C++编写node.js原生模块
    这篇文章主要讲解了“怎么使用C/C++编写node.js原生模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C/C++编写node.js原生模块”吧!Hello World不能免俗...
    99+
    2023-06-17
  • 如何在 Docker 容器中自动重启 golang 应用程序?
    小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《如何在 Docker 容器中自动重启 golang 应用程序?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章...
    99+
    2024-04-04
  • 怎么用rust编写windows驱动
    要使用Rust编写Windows驱动,你需要使用Rust的开发工具链和一些额外的工具。 以下是编写Windows驱动的一般步骤: ...
    99+
    2023-10-26
    rust windows
  • 怎么成功启动thinkphp应用
    这篇文章主要介绍“怎么成功启动thinkphp应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么成功启动thinkphp应用”文章能帮助大家解决问题。安装运行环境在部署thinkphp应用程序前...
    99+
    2023-07-05
  • Flex应用程序怎么启动
    这篇文章主要介绍了Flex应用程序怎么启动,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex应用程序启动编写一个简单的Flex应用程序并不复杂,就算你从来没接触过Flex...
    99+
    2023-06-17
  • WPF应用启动慢怎么办
    这篇文章主要介绍了WPF应用启动慢怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方案一,更改启动项出问题应用的启动项是使用的默认设置,查看App.g.cs文件,可以看到...
    99+
    2023-06-15
  • 怎么在Windows11上启用启动应用通知
    这篇文章主要介绍了怎么在Windows11上启用启动应用通知的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么在Windows11上启用启动应用通知文章都会有所收获,下面我们一...
    99+
    2023-04-14
    windows11
  • 怎么编写高效的MySQL应用
    这篇文章主要介绍“怎么编写高效的MySQL应用”,在日常操作中,相信很多人在怎么编写高效的MySQL应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么编写高效的MySQL...
    99+
    2024-04-02
  • skywalking在docker中怎么应用
    本文小编为大家详细介绍“skywalking在docker中怎么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“skywalking在docker中怎么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。准备工...
    99+
    2023-07-05
  • Android应用中怎么设计启动页广告
    Android应用中怎么设计启动页广告?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Android启动页广告启动页几乎成为了每个app的标配,有些商家在启动页中...
    99+
    2023-05-31
    android roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作