身為一個(gè)后端程序員,有時(shí)不得已也要擺弄一下前端的東西。這不,老大讓我把前端項(xiàng)目打個(gè)docker 包。好了,廢話不多說。打docker 包首先得有dockerfile 那就先編寫docker吧
Dockerfile
FROM daocloud.io/node:7
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 編寫好了執(zhí)行 打鏡像命令。
myeppweb 為我打成鏡像的名字
docker build -t myeppweb .
// 注意 . 不能忘。
啟動(dòng)
此時(shí)執(zhí)行 docker images 就可以查看到打包成功的鏡像
執(zhí)行啟動(dòng)命令:
docker run -d -p 3001:3001 myeppweb
分析
好了講解一下dockerfile 的命令
基于daocloud.io/node:7 的鏡像進(jìn)行打包鏡像
這個(gè)是維護(hù)者的信息
MAINTAINER abel.yang <527515025@qq.com>
LABEL Descripttion="This image is build for web"
創(chuàng)建一個(gè) 文件夾并將當(dāng)前文件夾下的 所有文件放到 新建的文件夾下。(我當(dāng)前的文件夾下的文件是 前端可運(yùn)行的代碼。直接輸入npm run start 就能運(yùn)行的代碼哦)
RUN mkdir -p /opt/apps/epp
COPY . /opt/apps/epp
設(shè)置當(dāng)前路徑,也就是下面所有命令的執(zhí)行都是在這個(gè)路徑
WORKDIR /opt/apps/epp/epp-web/server
設(shè)置鏡像時(shí)間和時(shí)區(qū)
ENV LANG C.UTF-8
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
暴露端口
啟動(dòng)node
好了這篇文章也就是記錄一下打包的過程。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接