Docker使用编写dockerfile启动node.js应用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,编写 Dockerfile以 express 自动创建的目录为例,目录结构如下:├── /bin│ └── www├── /node_modules├── /public├── /routes├──
千家信息网最后更新 2025年12月02日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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
容器
命令
端口
镜像
目录
运行
宿主
宿主机
文件
项目
服务
参数
拷贝
版本
帮助
成功
两个
也就是
也就是说
代表
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器建造的城堡
emobile服务器连接不上
忘川风华录怎么跨服务器加好友
安防管理服务器指什么区别
网络安全法普通法律
长沙服务器回收
做软件开发用什么键盘好
浙江大数据软件开发
软件开发公司接单怎么接
检察院两会期间网络安全保障
数据库表分析是干嘛的
免费云电脑服务器地址
java写一个服务器
济南旭杭网络技术有限公司
服务器远程键盘无法输入
天堂2服务器自动关闭
网页的代码可以看到服务器地址吗
软件开发用的设备
网络安全小课堂靠谱吗
安徽嵌入式软件开发服务
拳王的金腰带网络技术
隽程软件开发
计算机网络技术专业是本科吗
网络安全项目多少钱维护一年
c 什么软件开发
查询引用窗体数据库
在数据库中图片是什么类型
用什么函数对比重复数据库
淄博软件开发有哪些公司
软件开发有哪些网址