当使用到maven项目时会用到jdk和maven环境,也需要ssh密钥避免容器重启消失,我使用jenkins2.344自带的jdk为11版本,与打包项目不兼容会出现构建报错,所以到此自定义环境及版本使用,以下使用dockerfile构建重新打包新的镜像从源头解决
Dofilefile构建
此处遇到痛点Dockerfile文件source全局配置文件一直不生效,会导致容器启动后需手动source,解决方式就是将souce /etc/profile写到~/.bashrc文件中完美解决
FROM harbor.od.com/public/jenkins:v2.344
USER root
RUN ssh-keygen -q -t rsa -N '' -f /root/.ssh/id_rsa
ADD ./apache-maven-3.6.3-bin.tar.gz /usr/local/
ADD ./jdk1.8.0_221.tar.gz /usr/local
RUN echo " export JAVA_HOME=/usr/local/jdk1.8.0_221 \n export CLASSPATH=.:/lib.tools.jar \n \
export MAVEN_HOME=/usr/local/apache-maven-3.6.3 \n export PATH=\$JAVA_HOME/bin:\$MAVEN_HOME/bin:\$PATH" >> /etc/profile
RUN echo "source /etc/profile" >> /root/.bashrc
[root@docker-compose]
[root@docker-compose]
到此密钥、自定义版本jdk、自定义版本maven环境都可以正常使用
|