
图片来源:https://blog.papercut.com/wp-content/uploads/2019/02/docker-logo-1024x597.png
[TOC]
前言
正文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| FROM node:12.18.3
RUN mkdir -p /home/admin/doc-node
WORKDIR /home/admin/doc-node
COPY package.json /home/admin/doc-node/package.json
RUN npm i --production --registry=https://registry.npm.taobao.org
COPY ./dist /home/admin/doc-node/
EXPOSE 9423
CMD npm run test
|
1
| docker build -t doc-node .
|
构建结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ➜ doc-node git:(master) ✗ docker build -t doc-node . Sending build context to Docker daemon 546.6MB Step 1/8 : FROM node:12.18.3-alpine ---> 18f4bc975732 Step 2/8 : RUN mkdir -p /home/admin/doc-node ---> Using cache ---> 4c02163f06fd Step 3/8 : WORKDIR /home/admin/doc-node ---> Using cache ---> c5028665498d Step 4/8 : COPY package.json /home/admin/doc-node/package.json ---> e5234ca8c018 Step 5/8 : RUN npm i --production --registry=https://registry.npm.taobao.org ---> Running in 2c0158284144 Removing intermediate container 2c0158284144 ---> 1b1c86bca5a9 Step 6/8 : COPY ./dist /home/admin/doc-node/ ---> 4fb32124c0dc Step 7/8 : EXPOSE 9423 ---> Running in 7090c27bd6c1 Removing intermediate container 7090c27bd6c1 ---> 2a8df7c21c1a Step 8/8 : CMD npm run test ---> Running in 52b38538ff92 Removing intermediate container 52b38538ff92 ---> 9e045ca76af7 Successfully built 9e045ca76af7 Successfully tagged doc-node:latest
|
查看构建的镜像
结果:
使用构建的进行,实例一个容器:
1
| docker run --name docNode -p 9423:9423 -d 9e045ca76af7
|
运行完毕就可以看到容器实例
镜像构建完毕后,可以提交到docker hub上,官网地址:https://hub.docker.com/
提前前需要打一个tag
1
| docker tag 6f744b5d6dad zhaowei666/doc-node:v1.0
|
之后提交镜像
1
| docker push zhaowei666/doc-node:v1.0
|
当出现下面打印时,则表示上传成功
1 2 3 4 5 6 7 8 9 10
| The push refers to repository [docker.io/zhaowei666/doc-node] 696f9fe6abcf: Pushed 15bb3400b366: Pushed 7ebf5d8bef67: Pushed d3eefd1127e9: Pushed aedafbecb0b3: Mounted from library/node db809908a198: Mounted from library/node 1b235e8e7bda: Mounted from library/node 3e207b409db3: Mounted from library/node v1.0: digest: sha256:a18d7b8d4ccd1dbd4fcd0a6f3c2854e7dd0e9480af6c3e679778b2808164f20b size: 1993
|
镜像上传之后,部署到其他环境时,查询并下载镜像运行容器即可
下载镜像
1
| docker pull zhaowei666/doc-node:v1.0
|