自学内容网 自学内容网

【Docker】04-Docker部署Java后端

1. 运行MySQL镜像

hm.cnf

[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

运行MySQL镜像

docker run -d --name mysql -p 3307:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123 -v /root/docker/mysql/data:/var/lib/mysql -v /root/docker/mysql/init:/docker-entrypoint-initdb.d -v /root/docker/mysql/conf:/etc/mysql/conf.d --network hw mysql

2. SpringBoot配置

application.yaml

server:
  port: 8080
spring:
  application:
    name: hm-service
  profiles:
    active: dev
  datasource:
    url: jdbc:mysql://${hm.db.host}:3306/hmall?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: ${hm.db.pw}

application-dev.yaml

hm:
  db:
    host: mysql
    pw: 123

Dockerfile

FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY hm-service.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

打包,将jar与dockerfile上传同一目录下。

docker build -t hmall .
docker run -d --name hm -p 8088:8080 --network hw hmall

原文地址:https://blog.csdn.net/qq_45722630/article/details/142747403

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!