身为一个后端程序员,有时不得已也要摆弄一下前端的东西。这不,老大让我把前端项目打个docker 包。好了,废话不多说。打docker 包首先得有dockerfile 那就先编写docker吧
dockerfile
1
2
3
4
5
6
7
8
9
10
11
|
maintainer abel.yang <527515025@qq.com> label descripttion= "this image is build for web" run mkdir -p /opt/apps/epp copy . /opt/apps/epp workdir /opt/apps/epp/epp-web/server env lang c.utf-8 env tz=asia /shanghai run ln -snf /usr/share/zoneinfo/asia/shanghai /etc/localtime && echo asia /shanghai > /etc/timezone expose 3001 cmd [ "npm" , "start" ] |
好了 dockerfile 编写好了执行 打镜像命令。
myeppweb 为我打成镜像的名字
1
2
|
docker build -t myeppweb . // 注意 . 不能忘。 |
启动
此时执行 docker images 就可以查看到打包成功的镜像
执行启动命令:
1
|
docker run -d -p 3001:3001 myeppweb |
分析
好了讲解一下dockerfile 的命令
基于daocloud.io/node:7 的镜像进行打包镜像
1
|
from daocloud.io /node :7 |
这个是维护者的信息
maintainer abel.yang <527515025@qq.com>
label descripttion="this image is build for web"
创建一个 文件夹并将当前文件夹下的 所有文件放到 新建的文件夹下。(我当前的文件夹下的文件是 前端可运行的代码。直接输入npm run start 就能运行的代码哦)
1
2
|
run mkdir -p /opt/apps/epp copy . /opt/apps/epp |
设置当前路径,也就是下面所有命令的执行都是在这个路径
1
|
workdir /opt/apps/epp/epp-web/server |
设置镜像时间和时区
1
2
3
|
env lang c.utf-8 env tz=asia /shanghai run ln -snf /usr/share/zoneinfo/asia/shanghai /etc/localtime && echo asia /shanghai > /etc/timezone |
暴露端口
1
|
expose 3001 |
启动node
1
|
cmd [ "npm" , "start" ] |
好了这篇文章也就是记录一下打包的过程。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/u012373815/article/details/64562512