创建自定义maven的docker镜像
有时docker的镜像不能满足我们需求时,我们需要自定义maven的settings.xml文件,加上阿里云的映射和自己的私服
- clone阿里云maven-image仓库:git@github.com:AliyunContainerService/maven-image.git
- 进入3-jdk-8目录,修改settings.xml文件
- <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
- https://maven.apache.org/xsd/settings-1.0.0.xsd">
- <localRepository>/usr/share/maven/ref/repository</localRepository>
- <servers>
- <server>
- <id>youseniu-releases</id>
- <username>xxx</username>
- <password>xxxx</password>
- </server>
- <server>
- <id>youseniu-snapshots</id>
- <username>xxxx</username>
- <password>xxxxx</password>
- </server>
- </servers>
- <mirrors>
- <mirror>
- <id>alimaven</id>
- <name>aliyun maven</name>
- <url>https://maven.aliyun.com/repository/central</url>
- <mirrorOf>central</mirrorOf>
- </mirror>
- </mirrors>
- <profiles>
- <profile>
- <id>youseniu</id>
- <repositories>
- <repository>
- <id>youseniu</id>
- <name>youseniu private nexus</name>
- <url>http://ysnnexus.liyuchang.xin/repository/maven-public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>youseniu</id>
- <name>youseniu private nexus</name>
- <url>http://ysnnexus.liyuchang.xin/repository/maven-public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- <profile>
- <id>jdk-1.8</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- <jdk>1.8</jdk>
- </activation>
- <properties>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
- </properties>
- </profile>
- </profiles>
- <activeProfiles>
- <activeProfile>youseniu</activeProfile>
- </activeProfiles>
- </settings>
- build镜像
- #build
- docker build --tag liyc/maven:3.5.2-jdk-8 .
- #push
- docker push liyc/maven:3.5.2-jdk-8
- #pull
- docker pull liyc/maven:3.5.2-jdk-8
- 使用新镜像运行maven项目
- #进入项目所在目录
- cd /maven_project_home
- #运行
- docker run --name testproject
- -it --rm -p 8080:8080
- -v "$(pwd)":/usr/src/mymaven -v maven-repo:/usr/share/maven/ref/repository
- -w /usr/src/mymaven --restart=on-failure liyc/maven:3.5.4-jdk-8
- mvn spring-boot:run -Duser.timezone=Asia/Shanghai
