文章目录
- 1、打 jar 包
- 1、创建Dockerfile
- 3、创建镜像
- 4、启动容器
- 其他注意事项
- docker中jdk的版本命名
- 举例:openjdk:11-ea-17-jre-slim
- 举例:8u312-jre-nanoserver-1809
- 通过find找文件
1、打 jar 包
将项目打一个 jar 包,可以使用 IDEA
1、创建Dockerfile
在项目根目录创建Dockerfile文件
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/zy-spring-boot-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
3、创建镜像
# 项目根目录执行
docker build -t zy-spring-boot:1.0.0 .
4、启动容器
docker run -p 9090:9090 zy-spring-boot:1.0.0
执行结果和你 java -jar 的一样
其他注意事项
docker中jdk的版本命名
我们在 Dockerfile 中写的 FROM openjdk:17-jdk-slim
就是从 dockerhub 中搜的,以下是一些命名规则
举例:openjdk:11-ea-17-jre-slim
- openjdk:表示这是一个 OpenJDK(Open Java Development Kit)的镜像。OpenJDK 是一个开源的 Java 开发工具包。
- 11:表示 OpenJDK 的版本号。在这个例子中,版本号为 11。
- ea:表示这是一个“早期访问”(Early Access)版本。EA 版本是为了让用户在正式发布之前尝试新特性和改进的版本。
- 17:表示这个 EA 版本的具体构建号。每个 EA 版本都有一个唯一的构建号。
- jre:表示这是一个包含 Java 运行时环境(JRE)的镜像。JRE 包含了运行 Java 应用程序所需的最小环境。
- slim:表示这是一个较小的基础镜像,以减小镜像的大小。通常,slim 版本使用了较小的操作系统作为基础。
举例:8u312-jre-nanoserver-1809
- 8u312:表示这是 Java 版本 8 的更新版本,具体为第 312 次更新。这里的 “u” 表示 “update”,表示 Java 的更新版本。
- jre:表示这是一个包含 Java 运行时环境的镜像。JRE 包含了运行 Java 应用程序所需的最小环境,不包括开发工具。
- nanoserver:表示这个镜像是基于 Windows Nano Server 构建的。Nano Server 是 Windows Server 2016 中的一种轻量级部署选项,用于运行云原生应用。
- 1809:表示这个镜像是基于 Windows Server 版本 1809 构建的。这是 Windows Server 2019 的早期版本号。
通过find找文件
我想找到 mysql 的 my.cnf 文件,但是不知道在哪,可以这么找
sudo find /opt -name my.cnf
> mysql --help
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/homebrew/etc/my.cnf ~/.my.cnf