内容简介:以在项目目录下新建在项目目录下执行
编写 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 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Go基础学习记录 - 编写Web应用程序 - 路由和程序启动的一些思考
- Tomcat 7 启动分析(一)启动脚本
- dotnet 启动 JIT 多核心编译提升启动性能
- Win32 程序在启动时激活前一个启动程序的窗口
- 死磕Android_App 启动过程(含 Activity 启动过程)
- HADOOP 启动时 HDFS格式化后启动dfs出现以下错误:
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Hard Thing About Hard Things
Ben Horowitz / HarperBusiness / 2014-3-4 / USD 29.99
Ben Horowitz, cofounder of Andreessen Horowitz and one of Silicon Valley's most respected and experienced entrepreneurs, offers essential advice on building and running a startup—practical wisdom for ......一起来看看 《The Hard Thing About Hard Things》 这本书的介绍吧!