构建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
相关推荐
程序员老赵1 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
lichenyang4533 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4533 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4533 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4533 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson8 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy8 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭8 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩9 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker