/docker-series

整理自己开发过程中经常用到 docker 相关操作

docker-series

整理自己开发过程中经常用到 docker 相关操作

node.js

因为本人使用的是 egg.js 框架,并且打算一直使用下去,所以使用 egg.js 做为例子。

  • 第一步,修改 package.json 的启动指令

egg.js官方文档:--daemon 是否允许在后台模式,无需 nohup。若使用 Docker 建议直接前台运行

"scripts": {
    "docker": "egg-scripts start --title=egg-server-padipata"
}
  • 第二步,创建 .dockerignore 文件过滤
node_modules/
.git/
.idea/
  • 第三步,创建 Dockerfile
FROM node:9.4.0-alpine

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY package.json /usr/src/app/

RUN npm i --registry=https://registry.npm.taobao.org

COPY . /usr/src/app

EXPOSE 7001

CMD npm run docker
  • 第四部,发布项目
# 打包镜像
docker build -t yipage/padipata:alpine .

# 运行镜像
docker run -d -p 7001:7001 yipage/padipata:alpine

# 查看运行日志
docker ps
docker logs {CONTAINER ID}

# 停止服务
docker ps
docker stop {CONTAINER ID}

# 删除镜像
docker ps -a
docker rm {CONTAINER ID}
docker rmi {IMAGE ID}

vue.js