Browse Source

@IPU_REQ_2021@调整dockerfile配置,新增docker配置

weihf 4 years ago
parent
commit
44f9b01359

+ 2 - 1
ipu-rest-scaffold/docker/Dockerfile

@ -2,5 +2,6 @@ FROM openjdk:8-jdk-alpine
2 2
VOLUME /tmp
3 3
WORKDIR /package
4 4
ADD  target/ipu-rest-scaffold-bin.tar.gz /package
5
WORKDIR /package/ipu-rest-scaffold/ipu-rest-scaffold
5
WORKDIR /package/ipu-rest-scaffold
6
CMD mkdir logs
6 7
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar ./ipu-rest-scaffold.jar $0 $@

+ 67 - 0
ipu-rest-scaffold/docker/docker-compose.yml

@ -0,0 +1,67 @@
1
version: '2'
2
services:
3
  ipu-rest-scaffold:
4
    image: ipu-rest-scaffold:3.2-SNAPSHOT
5
    container_name: ipu-rest-scaffold-3.2-SNAPSHOT
6
    ports:
7
      - 8080:8080
8
    mem_limit: 256m
9
    volumes:
10
      - /data/ipu-rest-scaffold/ipu-rest-scaffold/logs:/package/ipu-rest-scaffold/logs
11
    depends_on:
12
      - rest-scaffold-db
13
      - rest-scaffold-redis
14
    links:
15
      - rest-scaffold-redis
16
      - rest-scaffold-db
17
    entrypoint: java -Djava.security.egd=file:/dev/./urandom -jar ./ipu-rest-scaffold.jar --server.port=8080
18
    extra_hosts:
19
      - "rest-scaffold-redis:11.11.11.11"
20
      - "rest-scaffold-db:11.11.11.12"
21
    networks:
22
      back:
23
        ipv4_address: "11.11.11.10"
24
      front:
25
        ipv4_address: "172.33.0.10"
26
  rest-scaffold-redis:
27
    image: redis:6-alpine
28
    container_name: rest-scaffold-redis
29
    ports:
30
      - 8379:6379
31
    mem_limit: 256m
32
    volumes:
33
      - /data/ipu-rest-scaffold/redis/data:/var/lib/redis
34
    networks:
35
      back:
36
        ipv4_address: "11.11.11.11"
37
  rest-scaffold-db:
38
    image: mysql:5.7.24
39
    container_name: rest-scaffold-db
40
    ports:
41
      - 8306:3306
42
    mem_limit: 256m
43
    environment:
44
      - MYSQL_ROOT_PASSWORD=ipuRoot
45
      - MYSQL_DATABASE=test
46
      - MYSQL_USER=ipu
47
      - MYSQL_PASSWORD=ipumysql
48
    volumes:
49
      - /data/ipu-rest-scaffold/mysql/conf:/etc/mysql
50
      - /data/ipu-rest-scaffold/mysql/logs/slowquery.log:/var/log/mysql/slowquery.log
51
      - /data/ipu-rest-scaffold/mysql/logs/mysql.log:/var/log/mysql/mysql.log
52
      - /data/ipu-rest-scaffold/mysql/logs/error.log:/var/log/mysql/error.log
53
      - /data/ipu-rest-scaffold/mysql/data:/var/lib/mysql
54
    networks:
55
      back:
56
        ipv4_address: "11.11.11.12"
57
networks:
58
  front:
59
    driver: bridge
60
    ipam:
61
      config:
62
        - subnet: "172.33.0.0/16"
63
  back:
64
    driver: bridge
65
    ipam:
66
      config:
67
        - subnet: "11.11.11.0/16"

+ 1 - 1
ipu-rest-scaffold/docker/docker_run.sh

@ -1,5 +1,5 @@
1 1
#运行命令
2
docker run -p 8080:8888 ipu/ipu-rest-scaffold:3.2-SNAPSHOT --server.port=8888 &
2
docker run -itd -p 8080:8888 ipu/ipu-rest-scaffold:3.2-SNAPSHOT --server.port=8888 &
3 3

4 4
#查看CONTAINER ID
5 5
docker ps

+ 34 - 0
ipu-rest-scaffold/src/main/resources/docker/application.yml

@ -0,0 +1,34 @@
1
server:
2
  context-path: /ipu
3
  #通过启动命令传参指定端口
4
  port: unknown
5
spring:
6
  application:
7
    #使用maven中的变量project.artifactId
8
    name: ${project.artifactId}
9
  mvc:
10
    #无拦截
11
    static-path-pattern: /**
12
  resources:
13
    static-locations: classpath:/${web.root}
14
  session:
15
    #session使用redis
16
    store-type: redis
17
  #redis集群和连接池相关配置
18
  redis:
19
    host: 47.105.160.21
20
    port: 7111
21
    password: ipu
22
    pool:
23
      max-active: 8
24
      max-idle: 8
25
      max-wait: -1
26
      #默认0,不回收
27
      min-idle: 8
28
web:
29
  root: webapp/
30
logging:
31
  file: target/logs/${project.artifactId}.log
32
define:
33
  session:
34
    timeout: 1800

+ 28 - 0
ipu-rest-scaffold/src/main/resources/docker/ipu-cache.xml

@ -0,0 +1,28 @@
1
<?xml version = '1.0' encoding = 'UTF-8'?>
2
<caches>
3
	<!-- ====================redis缓存============================ -->
4
	<cache name="ssn" type="redis">
5
		<servers>
6
			<!-- 如果不是cluster,则只使用第一个redis -->
7
			<server ip="rest-scaffold-redis" port="6379" />
8
9
		</servers>
10
		<!-- 客户端类型:Jedis,JedisCluster -->
11
		<config name="clientType" value="Jedis" />
12
		<!-- 访问redis的密码,可以为空 -->
13
		<config name="auth" value="" />
14
		<!-- redis池的可用连接实例的最大数目,缺省为8 -->
15
		<config name="poolSize" value="10" />
16
		<!-- redis池最多有多少个状态为idle(空闲的)的jedis实例,缺省为8,空闲连接大于这个数会进行回收 -->
17
		<config name="maxIdle" />
18
		<!-- 最小空闲数,空闲连接小于这个数会建立新的连接,缺省为0 -->
19
		<config name="minIdle" />
20
		<!-- 等待Response超时时间,默认5000ms -->
21
		<config name="soTimeout" />
22
		<!-- 连接Redis Server超时时间,默认5000ms -->
23
		<config name="connTimeout" />
24
		<!-- 出现异常最大重试次数 -->
25
		<config name="maxAttempts" />
26
	</cache>
27
28
</caches>

+ 27 - 0
ipu-rest-scaffold/src/main/resources/docker/ipu-mybatis-config.xml

@ -0,0 +1,27 @@
1
<?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE configuration
3
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
5
6
<configuration>
7
    <settings>
8
		<setting name="defaultFetchSize" value="1000" /> <!-- 结果集获取数量提示值,分批传输 -->
9
		<!-- 当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。 某些驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。mybatis缺省为OTHER -->
10
		<setting name="jdbcTypeForNull" value="NULL" />
11
	</settings>
12
    <plugins>
13
        <!-- 分页插件,可根据参数定制化 -->
14
	    <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
15
		<plugin interceptor="com.ai.ipu.sql.mgmt.mybatis.SqlMgmtPlugin"></plugin>
16
	</plugins>
17
	<environments default="test">
18
		<environment id="test">
19
			<transactionManager type="JDBC" />
20
			<dataSource type="com.ai.ipu.database.datasource.DruidDataSourceFactory">
21
				<property name="jdbcUrl" value="jdbc:mysql://rest-scaffold-db:3306/test" />
22
				<property name="username" value="ipu" />
23
				<property name="password" value="ipumysql" />
24
			</dataSource>
25
		</environment>
26
	</environments>
27
</configuration>

+ 19 - 0
ipu-rest-scaffold/src/main/resources/docker/log4j2.xml

@ -0,0 +1,19 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<Configuration status="WARN">
3
    <Appenders>
4
        <Console name="Console" target="SYSTEM_OUT">
5
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
6
        </Console>
7
        <File name="logFile" fileName="logs/ipu-rest-scaffold.log" append="false">
8
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
9
        </File>   
10
    </Appenders>
11
    <Loggers>
12
        <Root level="WARN">
13
            <AppenderRef ref="Console"/>
14
            <AppenderRef ref="logFile"/>
15
        </Root>
16
        <logger name="com.ai" level="DEBUG"></logger>
17
        <logger name="org.springframework.boot.web" level="DEBUG"></logger>
18
    </Loggers>
19
</Configuration>

+ 43 - 0
ipu-rest-scaffold/src/main/resources/docker/menu.json

@ -0,0 +1,43 @@
1
[
2
  {
3
    "id": "1",
4
    "name": "帮助ReadMe",
5
    "path": "/help",
6
    "icon": "aid-help-circle",
7
    "type": "R",
8
    "remark": "",
9
    "subMenu": []
10
  },
11
  {
12
    "id": "2",
13
    "name": "百度",
14
    "path": "/iframe",
15
    "icon": "aid-search-web",
16
    "type": "F",
17
    "remark": "https://www.baidu.com/",
18
    "subMenu": []
19
  },
20
  {
21
    "id": "3",
22
    "name": "二级菜单",
23
    "path": "",
24
    "icon": "aid-air-conditioner",
25
    "remark": "",
26
    "subMenu": [
27
      {
28
        "id": "1",
29
        "name": "帮助ReadMe2",
30
        "path": "/help2",
31
        "type": "R",
32
        "remark": "备注"
33
      },
34
      {
35
        "id": "2",
36
        "name": "百度2",
37
        "path": "/iframe2",
38
        "type": "F",
39
        "remark": "https://www.baidu.com/"
40
      }
41
    ]
42
  }
43
]