<强>编写Dockerfile 强>
以<代码> 代码>表达自动创建的目录为例,目录结构如下:
├──/bin │└──www ├──/node_modules ├──/公众 ├──/路线 ├──/观点 ├──package-lock.json ├──package.json ├──ecosystem.config.js ├──app.js └──Dockerfile
在项目目录下新建<代码> Dockerfile 代码>文件
从节点:10.15 维护者sunhengzhe@foxmail.com 副本。/应用程序/WORKDIR/应用程序 运行npm安装pm2 - g 8003年公开 CMD (“pm2-runtime”、“ecosystem.config.js”)
-
<李>从指定基础镜像为节点的10.15版本(节点官方版本可在此查看)李>
<李>维护者说明镜像的维护者李>
<李>复制命令将宿主机的文件拷贝到镜像中,格式为复制[——乔恩=& lt; user>: & lt; group>] & lt;源路径在…& lt;目标路径祝辞,这里将项目目录下的所有文件都拷贝到镜像中的/app目录下。如果目标路径不存在,码头工人将自动创建。李>
<李> WORKDIR用来指定工作目录,即是CMD执行所在的目录。李>
<李>运行命令用来执行shell命令,这里用来安装pm2李>
<李>暴露命令用来声明运行时容器提供服务端口,但要注意运行时并不会开启这个端口的服务,这个命令主要是帮助使用者理解这个镜像服务的守护端口,以方便配置映射;另外在使用随机端口映射时,会自动随机映射暴露的端口李>
<李> CMD是默认的容器主进程的启动命令李>
构建镜像
在项目目录下执行
码头工人构建- t express-app: v1。
如果构建成功,查看镜像列表
码头工人图片
应该会输出镜像<代码> express-app: v1 代码>
码头工人运行- d - p 8003:3000 - name=" express-app " express-app: v1
<代码>码头工人运行代码>是<代码>码头工人创建代码>和<代码>码头工人开始> 代码两个命令的简写。
-
<李> <代码> - 代码>即<代码>——分离> 代码,代表让容器后台运行。李>
<李> <代码> p> 代码指定宿主机和容器的端口映射,左边为宿主机的端口,右边为容器的端口,也就是说访问宿主机的8003端口,会映射到容器内的3000端口。李>
<李> <代码>——名称> 代码设置容器别名,如果不指定,码头工人会随机生成一个名字,比如<代码> tender_swirles 代码>之类的。李>
执行
码头工人ps
正常展示如下
码头工人exec - express-app bash
码头工人停止express-app
<>强删除容器强>
码头工人rm express-app
如果删除时容器还在运行,需要加上<代码> - f 代码>参数
<>强删除镜像强>
码头工人rmi express-app: v1
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。