新增docker一键部署方案
This commit is contained in:
25
.run/yshop-admin_Dockerfile.run.xml
Normal file
25
.run/yshop-admin_Dockerfile.run.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="yshop-admin/Dockerfile" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||||
|
<deployment type="dockerfile">
|
||||||
|
<settings>
|
||||||
|
<option name="imageTag" value="yshop-admin" />
|
||||||
|
<option name="buildCliOptions" value="" />
|
||||||
|
<option name="command" value="" />
|
||||||
|
<option name="containerName" value="" />
|
||||||
|
<option name="entrypoint" value="" />
|
||||||
|
<option name="portBindings">
|
||||||
|
<list>
|
||||||
|
<DockerPortBindingImpl>
|
||||||
|
<option name="containerPort" value="8001" />
|
||||||
|
<option name="hostIp" value="0.0.0.0" />
|
||||||
|
<option name="hostPort" value="8001" />
|
||||||
|
</DockerPortBindingImpl>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="commandLineOptions" value="-v /home/yshop:/home/yshop -v /home/yshop/logs:/yshop-admin/logs" />
|
||||||
|
<option name="sourceFilePath" value="yshop-admin/Dockerfile" />
|
||||||
|
</settings>
|
||||||
|
</deployment>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
25
.run/yshop-app_Dockerfile.run.xml
Normal file
25
.run/yshop-app_Dockerfile.run.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="yshop-app/Dockerfile" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||||
|
<deployment type="dockerfile">
|
||||||
|
<settings>
|
||||||
|
<option name="imageTag" value="yshop-app" />
|
||||||
|
<option name="buildCliOptions" value="" />
|
||||||
|
<option name="command" value="" />
|
||||||
|
<option name="containerName" value="" />
|
||||||
|
<option name="entrypoint" value="" />
|
||||||
|
<option name="portBindings">
|
||||||
|
<list>
|
||||||
|
<DockerPortBindingImpl>
|
||||||
|
<option name="containerPort" value="8008" />
|
||||||
|
<option name="hostIp" value="0.0.0.0" />
|
||||||
|
<option name="hostPort" value="8008" />
|
||||||
|
</DockerPortBindingImpl>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="commandLineOptions" value="-v /home/yshop:/home/yshop -v /home/yshop/logs:/yshop-app/logs" />
|
||||||
|
<option name="sourceFilePath" value="yshop-app/Dockerfile" />
|
||||||
|
</settings>
|
||||||
|
</deployment>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
18
yshop-admin/Dockerfile
Normal file
18
yshop-admin/Dockerfile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
FROM moxm/java:1.8-full as builder
|
||||||
|
|
||||||
|
MAINTAINER wangiegie@gmail.com
|
||||||
|
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
ENV JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
|
||||||
|
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
|
RUN mkdir -p /yshop-admin
|
||||||
|
|
||||||
|
WORKDIR /yshop-admin
|
||||||
|
|
||||||
|
EXPOSE 8001
|
||||||
|
|
||||||
|
ADD ./target/yshop-admin-3.1.jar ./
|
||||||
|
|
||||||
|
CMD java $JAVA_OPTS -jar yshop-admin-3.1.jar --spring.profiles.active=docker
|
@ -43,7 +43,12 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
|
|||||||
config.addAllowedHeader("*");// #允许访问的头信息,*表示全部
|
config.addAllowedHeader("*");// #允许访问的头信息,*表示全部
|
||||||
config.setMaxAge(18000L);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
|
config.setMaxAge(18000L);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
|
||||||
config.addAllowedMethod("OPTIONS");// 允许提交请求的方法类型,*表示全部允许
|
config.addAllowedMethod("OPTIONS");// 允许提交请求的方法类型,*表示全部允许
|
||||||
|
config.addAllowedMethod("HEAD");
|
||||||
|
config.addAllowedMethod("GET");
|
||||||
|
config.addAllowedMethod("PUT");
|
||||||
|
config.addAllowedMethod("POST");
|
||||||
|
config.addAllowedMethod("DELETE");
|
||||||
|
config.addAllowedMethod("PATCH");
|
||||||
source.registerCorsConfiguration("/**", config);
|
source.registerCorsConfiguration("/**", config);
|
||||||
return new CorsFilter(source);
|
return new CorsFilter(source);
|
||||||
}
|
}
|
||||||
|
95
yshop-admin/src/main/resources/config/application-docker.yml
Normal file
95
yshop-admin/src/main/resources/config/application-docker.yml
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
#配置数据源
|
||||||
|
spring:
|
||||||
|
application:
|
||||||
|
name: yshop-system
|
||||||
|
datasource:
|
||||||
|
druid:
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
|
url: jdbc:mysql://localhost:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||||
|
username: yshopb2c
|
||||||
|
password: bkfGfAimifjPZtNE
|
||||||
|
|
||||||
|
# 初始化配置
|
||||||
|
initial-size: 3
|
||||||
|
# 最小连接数
|
||||||
|
min-idle: 3
|
||||||
|
# 最大连接数
|
||||||
|
max-active: 15
|
||||||
|
# 获取连接超时时间
|
||||||
|
max-wait: 5000
|
||||||
|
# 连接有效性检测时间
|
||||||
|
time-between-eviction-runs-millis: 90000
|
||||||
|
# 最大空闲时间
|
||||||
|
min-evictable-idle-time-millis: 1800000
|
||||||
|
test-while-idle: true
|
||||||
|
test-on-borrow: false
|
||||||
|
test-on-return: false
|
||||||
|
validation-query: select 1
|
||||||
|
# 配置监控统计拦截的filters
|
||||||
|
filters: stat
|
||||||
|
|
||||||
|
stat-view-servlet:
|
||||||
|
url-pattern: /druid/*
|
||||||
|
reset-enable: false
|
||||||
|
login-username: admin
|
||||||
|
login-password: 123456
|
||||||
|
|
||||||
|
web-stat-filter:
|
||||||
|
url-pattern: /*
|
||||||
|
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
|
||||||
|
|
||||||
|
redis:
|
||||||
|
#数据库索引
|
||||||
|
database: 5
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6399 # Redis服务器连接端口
|
||||||
|
password: 6379@@6379 # Redis服务器连接密码(默认为空)
|
||||||
|
#连接超时时间
|
||||||
|
timeout: 5000
|
||||||
|
|
||||||
|
# 是否限制单用户登录
|
||||||
|
single:
|
||||||
|
login: false
|
||||||
|
|
||||||
|
#jwt
|
||||||
|
jwt:
|
||||||
|
header: Authorization
|
||||||
|
# 令牌前缀
|
||||||
|
token-start-with: Bearer
|
||||||
|
secret: k09BQnaF
|
||||||
|
# 必须使用最少88位的Base64对该令牌进行编码
|
||||||
|
base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
|
||||||
|
# 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
|
||||||
|
token-validity-in-seconds: 7200000
|
||||||
|
# 在线用户key
|
||||||
|
online-key: online-token
|
||||||
|
# 验证码
|
||||||
|
code-key: code-key
|
||||||
|
|
||||||
|
#是否允许生成代码,生产环境设置为false
|
||||||
|
generator:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
#如果生产环境要开启swagger,需要配置请求地址
|
||||||
|
#springfox:
|
||||||
|
# documentation:
|
||||||
|
# swagger:
|
||||||
|
# v2:
|
||||||
|
# host: # 接口域名或外网ip
|
||||||
|
|
||||||
|
#是否开启 swagger-ui,生产环境默认不开启
|
||||||
|
swagger:
|
||||||
|
enabled: true
|
||||||
|
title: yshop商城管理后台API
|
||||||
|
serverUrl: http://127.0.0.1:8000
|
||||||
|
version: 3.0
|
||||||
|
|
||||||
|
|
||||||
|
file:
|
||||||
|
path: /www/wwwroot/thapi.xinxintuan.co/upload/file/
|
||||||
|
avatar: /www/wwwroot/thapi.xinxintuan.co/upload/avatar/
|
||||||
|
# 文件大小 /M
|
||||||
|
maxSize: 100
|
||||||
|
avatarMaxSize: 5
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
FROM anapsix/alpine-java:8_server-jre_unlimited
|
FROM moxm/java:1.8-full as builder
|
||||||
|
|
||||||
MAINTAINER wangiegie@gmail.com
|
MAINTAINER wangiegie@gmail.com
|
||||||
|
|
||||||
@ -15,4 +15,4 @@ EXPOSE 8008
|
|||||||
|
|
||||||
ADD ./target/yshop-app-3.1.jar ./
|
ADD ./target/yshop-app-3.1.jar ./
|
||||||
|
|
||||||
CMD java $JAVA_OPTS -jar yshop-app-3.1.jar --spring.profiles.active=dev
|
CMD java $JAVA_OPTS -jar yshop-app-3.1.jar --spring.profiles.active=docker
|
||||||
|
99
yshop-app/src/main/resources/config/application-docker.yml
Normal file
99
yshop-app/src/main/resources/config/application-docker.yml
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
|
druid:
|
||||||
|
# 主库数据源
|
||||||
|
master:
|
||||||
|
url: jdbc:mysql://172.30.0.10:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||||
|
username: yshopb2c
|
||||||
|
password: bkfGfAimifjPZtNE
|
||||||
|
# 从库数据源
|
||||||
|
slave:
|
||||||
|
# 从数据源开关/默认关闭
|
||||||
|
enabled: false
|
||||||
|
url:
|
||||||
|
username:
|
||||||
|
password:
|
||||||
|
# 初始连接数
|
||||||
|
initialSize: 5
|
||||||
|
# 最小连接池数量
|
||||||
|
minIdle: 10
|
||||||
|
# 最大连接池数量
|
||||||
|
maxActive: 20
|
||||||
|
# 配置获取连接等待超时的时间
|
||||||
|
maxWait: 60000
|
||||||
|
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||||
|
timeBetweenEvictionRunsMillis: 60000
|
||||||
|
# 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||||
|
minEvictableIdleTimeMillis: 300000
|
||||||
|
# 配置一个连接在池中最大生存的时间,单位是毫秒
|
||||||
|
maxEvictableIdleTimeMillis: 900000
|
||||||
|
# 配置检测连接是否有效
|
||||||
|
validationQuery: SELECT 1 FROM DUAL
|
||||||
|
testWhileIdle: true
|
||||||
|
testOnBorrow: false
|
||||||
|
testOnReturn: false
|
||||||
|
statViewServlet:
|
||||||
|
enabled: true
|
||||||
|
url-pattern: /monitor/druid/*
|
||||||
|
filter:
|
||||||
|
stat:
|
||||||
|
# 慢SQL记录
|
||||||
|
log-slow-sql: true
|
||||||
|
slow-sql-millis: 1000
|
||||||
|
merge-sql: true
|
||||||
|
wall:
|
||||||
|
config:
|
||||||
|
multi-statement-allow: true
|
||||||
|
redis:
|
||||||
|
host: 172.30.0.10 # Redis服务器地址
|
||||||
|
database: 5 # Redis数据库索引(默认为0)
|
||||||
|
port: 6399 # Redis服务器连接端口
|
||||||
|
password: 6379@@6379 # Redis服务器连接密码(默认为空)
|
||||||
|
jedis:
|
||||||
|
pool:
|
||||||
|
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
|
||||||
|
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||||
|
max-idle: 8 # 连接池中的最大空闲连接
|
||||||
|
min-idle: 0 # 连接池中的最小空闲连接
|
||||||
|
timeout: 3000ms # 连接超时时间(毫秒)
|
||||||
|
cache:
|
||||||
|
# spring cache 缓存类型为redis 也可以是其他的实现
|
||||||
|
type: redis
|
||||||
|
|
||||||
|
# 是否限制单用户登录
|
||||||
|
single:
|
||||||
|
login: false
|
||||||
|
|
||||||
|
yshop:
|
||||||
|
security:
|
||||||
|
jwt-key: yshopmini
|
||||||
|
token-expired-in: 72000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#如果生产环境要开启swagger,需要配置请求地址
|
||||||
|
#springfox:
|
||||||
|
# documentation:
|
||||||
|
# swagger:
|
||||||
|
# v2:
|
||||||
|
# host: # 接口域名或外网ip
|
||||||
|
|
||||||
|
#是否开启 swagger-ui,生产环境默认不开启
|
||||||
|
swagger:
|
||||||
|
enabled: true
|
||||||
|
title: yshop商城移动端API
|
||||||
|
serverUrl: http://localhost:8009
|
||||||
|
version: 3.0
|
||||||
|
|
||||||
|
# 文件存储路径
|
||||||
|
file:
|
||||||
|
path: /home/yshop/file/
|
||||||
|
avatar: /home/yshop/avatar/
|
||||||
|
# 文件大小 /M
|
||||||
|
maxSize: 100
|
||||||
|
avatarMaxSize: 5
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ spring:
|
|||||||
config:
|
config:
|
||||||
multi-statement-allow: true
|
multi-statement-allow: true
|
||||||
redis:
|
redis:
|
||||||
host: localhost # Redis服务器地址
|
host: 172.30.0.10 # Redis服务器地址
|
||||||
database: 5 # Redis数据库索引(默认为0)
|
database: 5 # Redis数据库索引(默认为0)
|
||||||
port: 6399 # Redis服务器连接端口
|
port: 6399 # Redis服务器连接端口
|
||||||
password: 6379@@6379 # Redis服务器连接密码(默认为空)
|
password: 6379@@6379 # Redis服务器连接密码(默认为空)
|
||||||
@ -90,8 +90,8 @@ swagger:
|
|||||||
|
|
||||||
# 文件存储路径
|
# 文件存储路径
|
||||||
file:
|
file:
|
||||||
path: /www/wwwroot/thapi.xinxintuan.co/upload/file/
|
path: /home/yshop/file/
|
||||||
avatar: /www/wwwroot/thapi.xinxintuan.co/upload/avatar/
|
avatar: /home/yshop/avatar/
|
||||||
# 文件大小 /M
|
# 文件大小 /M
|
||||||
maxSize: 100
|
maxSize: 100
|
||||||
avatarMaxSize: 5
|
avatarMaxSize: 5
|
||||||
|
Reference in New Issue
Block a user