Docker镜像的制作
1 修改package.json
{ | |
|
"name": "name", |
|
"version": "1.0.0", |
|
"description": "描述", |
|
"private": true, |
|
"dependencies": { |
|
"egg": "^2.9.1", |
|
"egg-scripts": "^2.6.0" |
|
}, |
|
"devDependencies": { |
|
"autod": "^3.0.1", |
|
"autod-egg": "^1.1.0", |
|
"egg-bin": "^4.7.1", |
|
"egg-ci": "^1.8.0", |
|
"egg-mock": "^3.17.3", |
|
"eslint": "^5.2.0", |
|
"eslint-config-egg": "^7.0.0", |
|
"webstorm-disable-index": "^1.2.0" |
|
}, |
|
"engines": { |
|
"node": ">=8.9.0" |
|
}, |
|
"scripts": { |
|
"start": "egg-scripts start --title=egg-server-docker-boilerplate", |
|
"startd": "egg-scripts start --daemon --title=egg-server-docker-boilerplate", |
|
"stop": "egg-scripts stop --title=egg-server-docker-boilerplate", |
|
"dev": "egg-bin dev", |
|
"debug": "egg-bin debug", |
|
"test": "npm run lint -- --fix && npm run test-local", |
|
"test-local": "egg-bin test", |
|
"cov": "egg-bin cov", |
|
"lint": "eslint .", |
|
"ci": "npm run lint && npm run cov", |
|
"autod": "autod" |
|
}, |
|
"ci": { |
|
"version": "8" |
|
}, |
|
"repository": { |
|
"type": "git", |
|
"url": "" |
|
}, |
|
"author": "", |
|
"license": "MIT" |
|
} |
2 创建Dockerfile 用来创建镜像(注意没有后缀)
FROM node:8.11.3-alpine
ENV TIME_ZONE=Asia/Shanghai
RUN \
mkdir -p /usr/src/app \
&& apk add --no-cache tzdata \
&& echo "${TIME_ZONE}" > /etc/timezone \
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm i
# RUN npm i --registry=https://registry.npm.taobao.org
COPY . /usr/src/app
EXPOSE 7008
# 注意端口号的搭配
CMD npm run start
3.创建docker 镜像
Docker build -t node/envp:v1 .
4.运行镜像
Docker run --name envp -p 7008:7008 -d node/envp:v1
Docker 镜像的上传的正确方法
1.Dockerhub上创建仓库
2.Docker tag node/envp:v1 username/envp 本地镜像与dockerhub仓库对应(注意username为你dockerhub上的用户名)
本地镜像 hub仓库
3.Docker push username/envp 推送镜像