





















本节我们自己打包一个docker镜像并发布到官方的镜像仓库中。这样任何人只需执行以下命令: docker run -d -p 3000:3000 finleyma/express 就可以访问一个简单的express程序了。
需要你有简单的express使用经验 实现过程非常简单:
npm install express-generator -gexpress myappbash
FROM node:10.8.0-alpine
MAINTAINER www.mafeifan.com
# 设置工作目录,下面的RUN命令会在工作目录执行
WORKDIR /app
# 先拷贝本地的 package.json 和 package-lock 到容器内
# 这样是利用docker的镜像分层机制
COPY package*.json ./
# 安装项目依赖包
# 生产环境可以运行 RUN npm install --only=production 只按照 package.json 中dependencies定义的模块
RUN npm install
# 将根目录下的文件都copy到container(运行此镜像的容器)文件系统的app文件夹下
ADD . /app/
# 暴露容器内的3000端口
EXPOSE 3000
# 容器启动时执行的命令,类似npm run start
CMD ["npm", "start"]docker build -t finleyma/express . 别忘了最后的点,表示当前目录docker run -d -p 3000:3000 finleyma/expressdocker login, docker push finleyma/expressdocker run -it --rm finleyma/express:1.0 ash 简要说下参数:简单总结使用Docker的好处:
问题:容器内的 node_modules 是本来就有还是容器执行 npm install 产生的呢? 答案:是构建的时候打包进镜像内了。我们看一下体积,有20M而且进到容器内, ls -l node_modules 时间也是打包的什么,并不是当前时间。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。