Docker 创建Centos+JDK1.8+MAVEN3.8.6基础镜像
一、准备安装JDK+MAVEN安装包
从官网下载依赖包完成后,需要将服务通过SFTP服务上传至服务器内。
二、创建Dockerfile文件
这里需要注意,Dockerfile文件需要和解压后的JDK,MAVEN文件放在同一个目录
# 解压下载好的JDK1.8文件
tar zxvf jdk-8u333-linux-x64.tar.gz
# 解压下载好的MAVEN文件
tar -zxvf apache-maven-3.8.6-bin.tar.gz
# 创建文件
vim Dockerfile
# 写入以下内容
FROM centos:7
WORKDIR /library/jdk
WORKDIR /library/maven
COPY ./apache-maven-3.8.6 /library/maven
COPY ./jdk1.8.0_333 /library/jdk
ENV JAVA_HOME=/library/jdk
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV MAVEN_HOME=/library/maven
ENV PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
# 编辑完成后,按下ESC键后输入以下按钮进行保存
wq!
三、修改maven的setting.xml文件
当前配置是为了使得maven配置使用阿里云环境的仓库所使用的。
<?xml version="1.0"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>https://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>https://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
四、将Centos+Maven+JDK文件打包为新的镜像
# 创建DockerFile文件完成后,输入打包命令,命令中的IP地址可以为自己本地的harbor域名地址或IP
docker build -t 127.0.0.1/library/dongma-maven-aliyun:3-jdk-8 .
打包完成后如图所示
# 打包完成后,可将完整镜像推送至自己的Docker harbor 若没有可以不推送,本地保存即可
docker push 127.0.0.1/library/dongma-maven-aliyun:3-jdk-8
五、验证打包完成的镜像
# 运行镜像,并登录镜像中进行验证
docker run -tid --name library-maven 127.0.0.1/library/dongma-maven-aliyun:3-jdk-8
# 登录镜像,验证java环境是否配置完善
docker exec -it library-maven /bin/bash
# 验证服务器是否存在java环境信息
java -version
# 验证服务器是否存在MAVEN环境
mvn -v