建立自定義maven的docker鏡像

有時docker的官方maven鏡像不能知足咱們需求時,咱們須要自定義maven的settings.xml文件,加上阿里雲的映射和本身的私服git

  1. clone阿里雲maven-image倉庫:git@github.com:AliyunContainerService/maven-image.gitgithub

  2. 進入3-jdk-8目錄,修改settings.xml文件spring

<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>
  1. 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
  1. 使用新鏡像運行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

maven官方docker
阿里maven-imagedocker

相關文章
相關標籤/搜索