求助:基于Docker安装最新JDK、Maven及Git的脚本编写
构建包含JDK、Maven和Git的Docker镜像(适用于Windows 7环境)
Hey there! 既然你是Docker新手,而且很久没碰脚本了,我会尽量把步骤写得清晰明了,帮你快速搞定这个镜像构建的需求。下面是完整的Dockerfile代码,以及每个步骤的详细解释,还有后续的构建和运行命令。
完整Dockerfile代码
# 基于官方最新版OpenJDK镜像构建,自带最新稳定版JDK FROM eclipse-temurin:latest # 更新系统包并安装Maven、Git,最后清理缓存减小镜像体积 RUN apt-get update && apt-get install -y \ maven \ git \ && rm -rf /var/lib/apt/lists/* # 配置Maven环境变量,确保容器内可以直接调用mvn命令 ENV MAVEN_HOME /usr/share/maven ENV PATH $MAVEN_HOME/bin:$PATH # 设置默认工作目录,后续可以把项目代码挂载到这里 WORKDIR /app
代码逐行解释
- 基础镜像选择:
eclipse-temurin:latest是Adoptium官方维护的OpenJDK镜像,不仅包含最新稳定版JDK,而且基于Debian系统,后续安装Maven、Git这类工具会非常方便。 - 安装依赖工具:
apt-get update先更新系统的软件源,然后用apt-get install安装Maven和Git;最后一行rm -rf /var/lib/apt/lists/*是清理安装时下载的缓存文件,避免镜像体积过大,这个步骤很重要哦。 - 环境变量配置:设置
MAVEN_HOME并更新PATH,这样在容器里打开终端就能直接输入mvn、git这些命令,不用手动找路径。 - 工作目录设置:
WORKDIR /app指定了容器启动后的默认工作目录,之后你可以把本地的项目文件夹挂载到这个目录,直接在容器里进行代码构建。
构建和运行镜像的命令
1. 构建镜像
打开Windows的命令提示符(CMD)或者PowerShell,切换到Dockerfile所在的文件夹,执行下面的命令:
docker build -t dev-env:latest .
这里dev-env:latest是你给镜像起的名字和版本标签,你可以改成自己喜欢的名字,比如my-dev-image:v1。
2. 运行容器
镜像构建完成后,用下面的命令启动一个交互式容器,还能把本地的项目目录挂载到容器里(这样本地修改的代码会同步到容器中):
docker run -it -v C:\你的本地项目路径:/app dev-env:latest /bin/bash
记得把C:\你的本地项目路径换成你实际的项目文件夹路径,比如C:\Users\Hithesh\Projects\my-java-app。运行后你就进入了容器的命令行,可以直接用java -version、mvn -v、git --version来验证工具是否安装成功。
额外注意事项
因为你用的是Windows 7,要注意最新版Docker Desktop已经不再支持Windows 7,如果你是用Docker Toolbox的话,挂载本地目录的路径格式可能需要调整成/c/Users/你的用户名/项目路径这种格式,比如:
docker run -it -v /c/Users/Hithesh/Projects/my-java-app:/app dev-env:latest /bin/bash
如果安装过程中遇到网络慢的问题,可以在apt-get update前添加国内镜像源,比如换成阿里云的源,修改后的RUN命令如下:
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \ apt-get update && apt-get install -y \ maven \ git \ && rm -rf /var/lib/apt/lists/*
内容的提问来源于stack exchange,提问作者Hithesh
相关产品推荐
相关产品推荐

