我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker如何使用dockerfile启动node.js应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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应用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker如何使用dockerfile启动node.js应用

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

下载Word文档

猜你喜欢

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

这篇文章主要介绍“Docker中怎么使用dockerfile启动node.js应用”,在日常操作中,相信很多人在Docker中怎么使用dockerfile启动node.js应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-07-04

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

这篇文章主要讲解了“Docker怎么编写dockerfile启动node.js应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么编写dockerfile启动node.js应用
2023-06-17

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

本文小编为大家详细介绍“Docker中怎么编写dockerfile启动node.js应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker中怎么编写dockerfile启动node.js应用”文章能帮助大家解决疑惑,下面跟着小编的
2022-12-02

使用Dockerfile如何构建一个docker镜像

这篇文章给大家介绍使用Dockerfile如何构建一个docker镜像,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用Dockerfile构建docker镜像1、什么是Dockerfile? dockerfil
2023-06-14

Mac上如何使用Docker Desktop启动Kubernetes

本篇内容主要讲解“Mac上如何使用Docker Desktop启动Kubernetes”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mac上如何使用Docker Desktop启动Kuberne
2023-06-03

如何使用Docker部署Node.js

这篇文章主要介绍“如何使用Docker部署Node.js”,在日常操作中,相信很多人在如何使用Docker部署Node.js问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Docker部署Node.js
2022-12-02

如何用dockerfile指令构建docker镜像

本篇内容主要讲解“如何用dockerfile指令构建docker镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用dockerfile指令构建docker镜像”吧!初识Dockerfile
2023-06-30

Docker在Linux下如何优化应用的启动时间

Docker 在 Linux 下优化应用启动时间的方法有很多,以下是一些建议:使用更小的基础镜像:选择更小的基础镜像可以减少镜像大小,从而缩短拉取和启动时间。例如,使用 Alpine Linux 作为基础镜像。减少层级:在 Dockerfi
Docker在Linux下如何优化应用的启动时间
2024-10-06

如何在 Docker 容器中自动重启 golang 应用程序?

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《如何在 Docker 容器中自动重启 golang 应用程序?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识
如何在 Docker 容器中自动重启 golang 应用程序?
2024-04-04

SpringBoot应用是如何启动的

这篇文章将为大家详细讲解有关SpringBoot应用是如何启动的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 SpringBoot项目通过SpringApplication.run(App
2023-05-31

使用 Node.js PM2 实现应用程序的自动重启和监控

本文主要介绍如何使用 Node.js PM2 来实现应用程序的自动重启和监控。PM2 是一个用于管理 Node.js 应用程序的进程管理器,它可以帮助用户轻松地启动、停止、重启和监控应用程序。
使用 Node.js PM2 实现应用程序的自动重启和监控
2024-02-12

编程热搜

目录