diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fb49516 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,19 @@ +logs/ +npm-debug.log +yarn-error.log +node_modules/ +package-lock.json +yarn.lock +coverage/ +dist/ +.idea/ +run/ +.DS_Store +*.sw* +*.un~ +.tsbuildinfo +.tsbuildinfo.* +src/app/public/uploads/ +typings/ +.cache +.serverless/ diff --git a/Dockerfile b/Dockerfile index fc673af..4a37f38 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,23 @@ -FROM node:12 +FROM node:lts-alpine -WORKDIR /home +WORKDIR /app + + +# 如果各公司有自己的私有源,可以替换registry地址,如使用官方源注释下一行 +RUN npm set registry https://registry.npm.taobao.org +# 安装开发期依赖 +COPY package.json ./package.json +RUN npm install +# 构建项目 COPY . . - -# 如果各公司有自己的私有源,可以替换registry地址 -RUN yarn - -RUN yarn build +RUN npm run build +# 删除开发期依赖 +RUN rm -rf node_modules && rm package-lock.json +# 安装开发环境依赖 +RUN npm install --production # 如果端口更换,这边可以更新一下 -EXPOSE 8001 +EXPOSE 7001 CMD ["npm", "run", "docker"] \ No newline at end of file diff --git a/src/config/config.prod.ts b/src/config/config.prod.ts index 4a71ac0..6a3fb91 100644 --- a/src/config/config.prod.ts +++ b/src/config/config.prod.ts @@ -7,11 +7,11 @@ export default (appInfo: EggAppInfo) => { config.orm = { type: 'mysql', - host: '127.0.0.1', - port: 3306, - username: 'root', - password: '123123', - database: 'cool', + host: process.env.MYSQL_HOST || '127.0.0.1', + port: parseInt(process.env.MYSQL_PORT || '3306'), + username: process.env.MYSQL_USER || 'root', + password: process.env.MYSQL_PASSWORD || '123123', + database: process.env.MYSQL_DATABASE || 'cool', // 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失 synchronize: false, // 打印日志