podman使用alpine镜像构建jdk指南

有关Dockerfile和Containerfile的区别简介

podman build页在描述项那里有进行简单的介绍。
大意是 Dockerfile和Containerfile文件的语法使用相同的语法,作用是一样的。

基础Dockerfile构建JDK17镜像文件

# syntax=docker/dockerfile:1
FROM alpine:3.17
# 改为阿里云的镜像仓库,因为快啊。
RUN sed -i.bak 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk upgrade
# 这里注意了,apk包管理器的包名和版本号是以=号进行分割的
RUN apk add --no-cache 'openjdk17-jre=17.0.6_p10-r0'

执行构建命令:podman build -f ./Dockerfile . 文件即可。

就可以通过podman images看到构建出的镜像了。

然后通过podman run -idt <镜像>执行镜像以启动一个新的容器。

构建完之后,可以使用podman attach 容器ID进行附加到容器内部的命令行,之后就可以执行java -version命令了。
由于我们是直接通过安装包进行安装的,配置JAVA_HOME和PATH环境变量的步骤都给省略了。

如果要删除镜像和对应的容器的话,那么执行podman rmi -f 镜像即可删除。
当然如果有很多镜像和对应的容器都需要删除的话,并且有共同特征的话,可以使用如下命令进行删除:

podman rmi -f `podman images | grep '<none>' | awk '{print $3}'`

资源引用

posted @ 2023-02-02 18:31  星小梦  阅读(501)  评论(0编辑  收藏  举报