1、mysql容器
创建卷目录结构
cd /wtdata/ccompose/weifuwu mkdir -p mysql57/{conf,data,logs}
启动mysql容器实例
podman run -d -p 3306:3306 \ --name mysql57 \ -v /wtdata/ccompose/weifuwu/mysql57/conf:/etc/mysql/conf.d:Z \ -v /wtdata/ccompose/weifuwu/mysql57/logs:/logs:Z \ -v /wtdata/ccompose/weifuwu/mysql57/data:/var/lib/mysql:Z \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.7
进入容器
podman exec -it mysql57 /bin/bash
链接mysql建库建表
mysql -uroot -p123456CREATE DATABASE `bigdata` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;use bigdataCREATE TABLE `t_customer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cname` varchar(50) NOT NULL, `age` int(11) NOT NULL, `phone` varchar(20) NOT NULL, `sex` tinyint(4) NOT NULL, `birth` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4
2、redis容器
cd /wtdata/ccompose/weifuwu mkdir -p redis7215/{conf,data}
还需要一份预配置的redis.conf文件放到conf目录下
podman run -d -p 6379:6379 \ --name redis7215 \ -v /wtdata/ccompose/weifuwu/redis7215/conf/redis.conf:/etc/redis/redis.conf:z \ -v /wtdata/ccompose/weifuwu/redis7215/data:/data:z \ redis:7.2.15 redis-server /etc/redis/redis.conf
3、微服务容器
用maven将IDEA创建的springboot项目打成jar包 redisStudy-0.0.1-SNAPSHOT.jar
编写Dockfile文件,与jar包在同一目录
# 使用 Eclipse Temurin 25 JRE 轻量级镜像(基于 Alpine,体积小)jdk版本要与我们springboot项目中一致 FROM eclipse-temurin:25-jre-alpine# 维护者信息(替代弃用的 MAINTAINER) LABEL maintainer="wt"# 创建临时文件目录(用于 Spring Boot 的 /tmp 挂载点) VOLUME /tmp# 复制 JAR 包到容器并重命名为 app.jar COPY redisStudy-0.0.1-SNAPSHOT.jar app2.jar# 可选:设置时区为中国时区(Alpine 默认 UTC) # RUN apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && rm -rf /var/cache/apk/*# 启动命令,添加 JVM 优化参数(随机数生成加速) ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app2.jar"]# 暴露 7777 端口(与 Spring Boot 配置文件一致) EXPOSE 7777
podman build -t springboot-redis-mysql-java25:latest .
端口要与springboot项目中的保持一致
podman run -d -p 7777:7777 --name my-springboot springboot-redis-mysql-java25:latest
整个项目部署完成。
