【Docker】04-Docker部署Java后端

news/2024/10/8 7:06:39 标签: docker, java, 容器

1. 运行MySQL镜像

hm.cnf

java">[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镜像

java">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

java">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

java">hm:
  db:
    host: mysql
    pw: 123

Dockerfile

java">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上传同一目录下。

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

http://www.niftyadmin.cn/n/5693757.html

相关文章

swift使用internvl2微调ocr文字检测(目标检测)

详细记录swfit微调interVL2-8B多模态大模型进行目标检测(附代码)-CSDN博客文章浏览阅读2k次,点赞45次,收藏14次。目标检测任务已经不是一个新鲜事了,但是多模态大模型作目标检测任务并不多见,本文详细记录swfit微调interVL2-8B多模态大模型进行目标检测的过程,旨在让更多…

Notepad++ 怎么让行行之间只保留一空行

在 Notepad 中,您可以使用正则表达式查找和替换功能来实现您的需求。以下是步骤和相应的正则表达式: 一、打开您的文本文件。 二、按下 Ctrl H 快捷键打开查找和替换对话框。 三、在“查找模式”部分,选择“正则表达式”选项。 四、输入…

Steam Deck掌机可装“黑苹果” 开发者成功安装macOS 15 Sequoia

在Steam Deck掌机上运行Windows 11相对轻松,但要让其成功搭载“黑苹果”系统则颇具挑战性。近日,有博主勇于尝试,将macOS 15 Sequoia安装到了Steam Deck上。 开发者kaitlyn在X平台上分享道:“在朋友们的鼎力相助下,我…

MySQL存储过程原理、实现及优化

目录 第一章 存储过程概述 1.1 存储过程定义与作用 1.2 存储过程的优点与缺点 1.2.1 优点 1.2.2 缺点 1.3 MySQL中的存储过程 第二章 存储过程的原理 2.1 存储过程的执行流程 2.1.1 编译阶段 2.1.2 存储阶段 2.1.3 执行阶段 2.2 存储过程的存储机制 2.3 存储过程与…

leetcode 刷题day36动态规划Part05 背包问题(完全背包、518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯 (进阶))

完全背包 完全背包的每件商品都有无限个,和01背包的一不同主要体现在遍历顺序上。为了保证每个物品仅被添加一次,01背包内嵌的循环是从大到小遍历。而完全背包的物品是可以添加多次的,所以要从小到大去遍历。 518. 零钱兑换 II 思路&#…

问:说说JRE、JDK、JVM 及 JIT都是干嘛的?

JRE、JDK、JVM及JIT是Java生态系统中的四个核心概念,它们在Java开发和运行过程中扮演着不同的角色。 概念定义与描述功能与特点相互关系JRE (Java Runtime Environment)Java运行时环境,是运行Java程序所必需的环境。它包括了Java虚拟机(JVM)和Java核心类…

Linux实践|设置静态 IP 地址

引言 如果您是 Linux 系统管理员,那么您将需要在系统上配置网络。与可以使用动态 IP 地址的台式机不同,在服务器基础设施上,您需要设置静态 IP 地址(至少在大多数情况下)。 本文[1]旨在向您展示如何在最常用的 Linux 发…

TensorFlow与Pytorch的转换——1简单线性回归

import numpy as np# 生成随机数据 # 生成随机数据 x_train np.random.rand(100000).astype(np.float32) y_train 0.5 * x_train 2 import tensorflow as tf# 定义模型 W tf.Variable(tf.random.normal([1])) b tf.Variable(tf.zeros([1])) y W * x_train b # 定义损失函…