微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker-compose部署java项目 jdk+mysql+redis

   docker-compose部署java项目  jdk+MysqL+redis

我的目录是Dockerfile,docker-compose.yml文件MysqL文件夹,redis文件夹,java文件

 

Dockerfile:

  

FROM java:8

MAINTAINER "jianle"

VOLUME /tmp
ADD *.jar /app.jar
RUN sh -c 'touch /app.jar'
EXPOSE 19000
ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

 

 

docker-compose.yml:

version: "3"
# 管理的服务
services:
MysqL:
restart: always
image: MysqL:8.0.26
container_name: MysqL
privileged: true
ports:
- 3306:3306
volumes:
- "./MysqL/data:/var/lib/MysqL"
- "./MysqL/MysqL-files:/var/lib/MysqL-files"
- "./MysqL/my.cnf:/etc/MysqL/my.cnf"
environment:
# 环境变量
- TZ=Asia/Shanghai
- MysqL_ROOT_PASSWORD=123456
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--max_allowed_packet=128M
--sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
networks:
mynetwork:
ipv4_address: 192.168.0.5
redis:
# 指定镜像
restart: always
image: redis:6.2.6
container_name: redis
privileged: true
ports:
# 端口映射
- 6379:6379
volumes:
# 目录映射
- "./redis/redis.conf:/usr/local/etc/redis/redis.conf"
- "./redis/data:/data"
command:
# 执行的命令
redis-server /usr/local/etc/redis/redis.conf
networks:
mynetwork:
ipv4_address: 192.168.0.6

app:
restart: always
build:
context: . #Dockerfile 所在目录
dockerfile: Dockerfile
privileged: true
container_name: app
environment:
- TZ=Asia/Shanghai
volumes:
- "./java/logs:/logs"
ports:
- 19000:19000
depends_on:
- MysqL
- redis
networks:
mynetwork:
ipv4_address: 192.168.0.7
networks:
mynetwork:
ipam:
driver: default
config:
- subnet: "192.168.0.0/24"

 

 

MysqL文件夹中的my.conf  (其他的两个是数据文件,会自动生成, my.cnf我只列出MysqLd下的配置)

[MysqLd]
lower_case_table_names = 1
pid-file = /var/run/MysqLd/MysqLd.pid
socket = /var/run/MysqLd/MysqLd.sock
datadir = /var/lib/MysqL
secure-file-priv= NULL

 

redis文件夹中的redis.conf

#配置redis密码
requirepass 123456

 

 

有需要的可以借鉴参考下

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐