构建jdk17包含maven的基础镜像

1、先拉取jdk17基础镜像

bash 复制代码
docker pull openjdk:17-jdk-alpine

2、使用jdk17基础镜像创建容器

bash 复制代码
docker run -it openjdk:17-jdk-alpine sh
或
docker run -it --name jdk17 openjdk:17-jdk-alpine sh

3、修改镜像源地址

bash 复制代码
cat /etc/apk/repositories
https://mirrors.aliyun.com/alpine/v3.14/main
https://mirrors.aliyun.com/alpine/v3.14/community

4、下载安装maven(使用离线包安装)

下载 apache-maven-3.6.3-bin.tar.gz 离线包

将离线包复制到容器目录中

bash 复制代码
docker cp d:/apache-maven-3.6.3-bin.tar.gz jdk17:/usr/share/

5、进入容器解压maven

bash 复制代码
docker exec -it jdk17 sh

# 进入maven目录
cd /usr/share/

# 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz

# 重命名文件夹
mv apache-maven-3.6.3/ maven

# 建mvn命令软链接
ln -s /usr/share/maven/bin/mvn /usr/bin/mvn

6、查看maven是否安装成功

mvn --version

7、构建镜像

bash 复制代码
命令:
docker commit -m "信息" <CONTAINER_ID> <镜像名>

docker commit -m "包含maven-3.6.3的jdk17镜像" 13f2c4d97abe maven3-jdk17/openjdk:17-jdk-alpine
相关推荐
念何架构之路33 分钟前
moby-BuildKit(builder-next)
学习·docker·容器
风曦Kisaki37 分钟前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
爱码少年1 小时前
此docker compose非彼docker-compose
docker
January丶1 小时前
docker-compose部署RabbitMQ(含管理页面)
docker
January丶1 小时前
docker-compose部署ElasticSearch集群
docker
johnny2331 小时前
镜像管理工具Skopeo实战
docker
极客先躯15 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
ChaITSimpleLove17 小时前
SimpleIdServer 6.0.4 Docker Compose 实战部署指南
运维·docker·容器·身份认证·id-server·simpleidserver
风曦Kisaki21 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
毛驴赶鹿1 天前
低配置服务器怎么搭建监控?Komari Docker部署与公网访问完整教程
运维·服务器·docker