使用docker发布nodejs应用
docker可以和nodejs结合的很好。下面以一个简单的应用为例说明如何发布docker镜像。源码见:gh-oauth-server。整个构建和发布使用的是阿里云镜像仓库。
创建dockerfile
在项目根目录中新建Dockerfile
# 基础镜像
FROM node:8
# 在镜像内部创建app的工作目录
WORKDIR /usr/src/app
# 把package.json或者package-lock.json放入镜像中
COPY package*.json ./
# 安装依赖
RUN npm install
# 放入项目文件
COPY . .
# 开放端口
EXPOSE 3000
# 启动命令
CMD [ "npm", "start" ]在项目根目录中添加.dockerignore文件。根据实际需要编写,以指明生成镜像时需要忽略的文件或目录
node_modules
npm-debug.log
配置阿里云自动构建
将项目代码上传到GitHub后,在阿里云新建镜像仓库,在本例中镜像仓库为
gh-oauth-server
,并关联到GitHub仓库。关于阿里云镜像仓库的使用,请参考之前写的这篇文章.在镜像仓库下的构建菜单里,添加构建规则,并运行构建。稍等片刻构建完成后即可使用。
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/lefer/gh-oauth-server:1.0.0
运行容器
docker run \
--name oauth \
-d -p 3000:3000 \
registry.cn-hangzhou.aliyuncs.com/lefer/gh-oauth-server:1.0.0
END
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeFer!
评论