🚀 Deploy: [部署]:修改密码等参数从环境变量中获取。修改运行镜像以支持中文显示

This commit is contained in:
fanxb 2019-07-29 13:58:51 +08:00
parent e3056bd40e
commit 72e6d15f6b
3 changed files with 47 additions and 15 deletions

View File

@ -1,14 +1,17 @@
FROM registry.cn-hangzhou.aliyuncs.com/fleyx/node:v1 FROM openjdk:11
COPY settings.xml /opt/settings.xml COPY settings.xml /opt/settings.xml
RUN cd /opt && \ RUN cd /opt && \
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz && \ wget https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0-linux-x64.tar.xz && \
tar -xvf openjdk-11+28_linux-x64_bin.tar.gz && \ xz -d node-v10.16.0-linux-x64.tar.xz && \
mv jdk-11 jdk11 && \ tar -xf node-v10.16.0-linux-x64.tar && \
rm openjdk-11+28_linux-x64_bin.tar.gz && \ mv node-v10.16.0-linux-x64 node10 && \
export PATH=$PATH:/opt/node10/bin && \
./node10/bin/npm install -g cnpm --registry=https://registry.npm.taobao.org && \
rm node-v10.16.0-linux-x64.tar && \
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz && \ wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz && \
tar -xvf apache-maven-3.6.1-bin.tar.gz && \ tar -xf apache-maven-3.6.1-bin.tar.gz && \
mv apache-maven-3.6.1 maven && \ mv apache-maven-3.6.1 maven && \
rm apache-maven-3.6.1-bin.tar.gz && \ rm apache-maven-3.6.1-bin.tar.gz && \
mv maven/conf/settings.xml maven/conf/settings.xml.bak && \ mv maven/conf/settings.xml maven/conf/settings.xml.bak && \
mv settings.xml maven/conf/settings.xml mv settings.xml maven/conf/settings.xml
ENV PATH=$PATH:/opt/jdk11/bin:/opt/maven/bin ENV PATH=$PATH:/opt/node10/bin:/opt/maven/bin

29
bookMarkDocker/README.md Normal file
View File

@ -0,0 +1,29 @@
本程序基于 docker 来进行部署。
docker 镜像 构建文件为本目录下的`Dockerfile`,已经生产推送到阿里云的容器镜像库registry.cn-hangzhou.aliyuncs.com/fleyx/node-java-env:v2.本镜像包含如下:
- node 运行环境,已安装 cnpm
- java 运行编译环境openjdk11
- maven 运行环境,已设置为阿里源
部署过程如下:
1. 首先运行 init.sh 进行前后端打包。
2. 将密码smtp 等相关敏感信息设置 到环境变量中,内容如下:<br/>
```bash
export MYSQL_PASSWORD=123456
export JWT_SECRET=123456
export SMTP_HOST=localhost
export SMTP_USERNAME=test
export SMTP_PASSWORD=test
export SMTP_PORT=465
```
两种设置办法:
- 在终端执行上述命令.这种办法在关闭终端后这些变量会失效,如果重新部署 docker-compose 会报警告--环境变量未定义
- 写到配置文件中,比如/etc/profile 等文件中,然后`source /etc/profile` 使其生效。
3. 执行`docker-compose up -d` 后台启动系统。

View File

@ -14,7 +14,7 @@ services:
- /etc/localtime:/etc/localtime - /etc/localtime:/etc/localtime
- ./timezone:/etc/timezone - ./timezone:/etc/timezone
environment: environment:
- MYSQL_ROOT_PASSWORD=123456 - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=bookmark - MYSQL_DATABASE=bookmark
bookmark-redis: bookmark-redis:
image: redis:3.2.10 image: redis:3.2.10
@ -57,7 +57,7 @@ services:
ports: ports:
- 8083:8080 - 8083:8080
bookmark-service: bookmark-service:
image: registry.cn-hangzhou.aliyuncs.com/fleyx/node-java-env:v1 image: registry.cn-hangzhou.aliyuncs.com/fleyx/node-java-env:v2
container_name: bookmark-service container_name: bookmark-service
depends_on: depends_on:
- bookmark-mysql - bookmark-mysql
@ -77,13 +77,13 @@ services:
sleep 20 && \ sleep 20 && \
ls -l && \ ls -l && \
java -jar -DisDev=false \ java -jar -DisDev=false \
-DjwtSecret=123456 \ -DjwtSecret=${JWT_SECRET} \
-Dmybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl \ -Dmybatis.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl \
-Dspring.mail.host= \ -Dspring.mail.host=${SMTP_HOST} \
-Dspring.mail.username= \ -Dspring.mail.username=${SMTP_USERNAME} \
-Dspring.mail.password= \ -Dspring.mail.password=${SMTP_PASSWORD} \
-Dspring.mail.port= \ -Dspring.mail.port=${SMTP_PORT} \
-Dspring.datasource.druid.password=123456 \ -Dspring.datasource.druid.password=${MYSQL_PASSWORD} \
-Dspring.datasource.druid.url=jdbc:mysql://bookmark-mysql:3306/bookmark?useUnicode=true\&characterEncoding=utf-8\&useSSL=false\&useJDBCCompliantTimezoneShift=true\&useLegacyDatetimeCode=false\&serverTimezone=UTC \ -Dspring.datasource.druid.url=jdbc:mysql://bookmark-mysql:3306/bookmark?useUnicode=true\&characterEncoding=utf-8\&useSSL=false\&useJDBCCompliantTimezoneShift=true\&useLegacyDatetimeCode=false\&serverTimezone=UTC \
-Dspring.redis.host=bookmark-redis \ -Dspring.redis.host=bookmark-redis \
-Des.host=bookmark-es \ -Des.host=bookmark-es \