千家信息网

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

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"Docker怎么编写dockerfile启动node.js应用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Docker怎么编写d
千家信息网最后更新 2026年10月31日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.15maintainer sunhengzhe@foxmail.comcopy . /app/workdir /apprun npm install pm2 -gexpose 8003cmd ["pm2-runtime", "ecosystem.config.js"]
  • from 指定基础镜像为 node 的 10.15 版本(node 官方版本可)

  • maintainer 说明镜像的维护者

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

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

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

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

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

构建镜像

在项目目录下执行

docker build -t express-app:v1 .

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

docker images

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

运行容器

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

正常展示如下

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

进入容器

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

docker exec -it express-app bash

-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应用"的内容了,经过本文的学习后,相信大家对Docker怎么编写dockerfile启动node.js应用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

容器 命令 端口 镜像 目录 运行 应用 宿主 宿主机 文件 项目 学习 服务 内容 参数 拷贝 版本 两个 也就是 也就是说 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 天津市摩尔互联网科技 北京路客互联网科技有限公司 深圳互联网络科技有限公司 智网互联网科技 期待互联网科技 互联网科技公司电话 互联网科技的英文 国外互联网科技网站 湖南洣水互联网科技有限公司扣款 福州新华互联网科技学校 知乎 消费医药和互联网科技 伊宁互联网科技做什么的 元气玛特互联网科技公司是外包吗 互联网金融科技公司的优势 小米互联网科技园入驻 梅州GM互联网络科技有限公司 上海万顺科技互联网有限公司招聘 同城互联网络科技 互联网科技创新创业项目 小米移动互联网科技园 保险科技 互联网保险 互联网的科技 互联网 新科技 居家互联网科技有限公司 互联网科技公司的市场部门 南平创想时代互联网科技有限公司 恒生互联网科技指数跳水 科技互联网的核心竞争力 北京市互联网新科技
0