第 2 章 创建自定义容器镜像
您可以使用以下方法之一从 Quarkus 应用程序创建容器镜像:
- 手动创建容器
- 使用 OpenShift Docker 构建创建容器
在分析和优化过程中,将 Quarkus 应用程序编译到原生可执行文件中会消耗大量内存。您可以通过设置 quarkus.native.native-image-xmx
配置属性来限制原生编译过程中使用的内存量。设置低内存限值可能会增加构建时间。
2.1. 手动创建容器 复制链接链接已复制到粘贴板!
本节介绍如何使用应用程序为 Linux X86_64 手动创建容器镜像。当您使用 Quarkus 原生容器生成原生镜像时,它会创建一个以 Linux X86_64 操作系统为目标的可执行文件。如果您的主机操作系统与此不同,您将无法直接运行二进制文件,您需要手动创建容器。
您的 Quarkus 入门项目在 src/main/docker
目录中包含一个 Dockerfile.native
,其内容如下:
Dockerfile
使用 UBI 作为基础镜像。此基础镜像设计为在容器中工作。Dockerfile
使用 基础镜像的最小版本 来缩小生成的镜像的大小。
流程
使用以下方法之一构建原生 Linux 可执行文件:
使用 Docker 构建原生可执行文件:
./mvnw package -Pnative -Dquarkus.native.container-build=true
./mvnw package -Pnative -Dquarkus.native.container-build=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Podman 构建原生可执行文件:
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podman
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下方法之一构建容器镜像:
使用 Docker 构建容器镜像:
docker build -f src/main/docker/Dockerfile.native -t quarkus-quickstart/getting-started .
docker build -f src/main/docker/Dockerfile.native -t quarkus-quickstart/getting-started .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Podman 构建容器镜像
podman build -f src/main/docker/Dockerfile.native -t quarkus-quickstart/getting-started .
podman build -f src/main/docker/Dockerfile.native -t quarkus-quickstart/getting-started .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行容器:
使用 Docker 运行容器:
docker run -i --rm -p 8080:8080 quarkus-quickstart/getting-started
docker run -i --rm -p 8080:8080 quarkus-quickstart/getting-started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Podman 运行容器:
podman run -i --rm -p 8080:8080 quarkus-quickstart/getting-started
podman run -i --rm -p 8080:8080 quarkus-quickstart/getting-started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow