这里有一个完整的示例:https://github.com/Jeff-Tian/me。它不仅实现了本地 Docker 化开发,还利用 Travis CI (https://travis-ci.com/Jeff-Tian/me)在每次提交代码后自动打包新的镜像并推送至 Docker Hub。

步骤

1. 在项目里添加 Dockerfile 

dockerfile FROM node:10

WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 10086

CMD [npm, run, dev:h5]

2. 再添加一个 .dockerignore 文件

node_modules npm-debug.log .git

3. 集成到 Travis CI 步骤里

需要在 Travis CI 项目的设置里,添加 DOCKERUSERNAME 和 DOCKERPASSWORD 两个环境变量。然后在 .travis.yml 文件里添加如下内容:

yaml services:

  • docker

install:

  • echo $DOCKERPASSWORD | docker login -u $DOCKERUSERNAME --password-stdin

script:

  • docker build -t $DOCKER_USERNAME/me .
  • docker images
  • docker run -d -p 127.0.0.1:10086:10086 --name me $DOCKER_USERNAME/me
  • docker ps | grep -q me
  • docker push $DOCKER_USERNAME/me

完成。