Docker 推送 Spring Boot镜像到阿里云容器镜像仓库

一)、配置项目pom.xml文件

docker-maven-plugin 官方文档

需要Docker事先开启远程访问的功能

<properties>
    
    <docker.region>registry.cn-shenzhen.aliyuncs.comdocker.region>
    
    <docker.namespace>guestdocker.namespace>
    
    <docker.registry>my-registrydocker.registry>
properties>

<build>
    <finalName>demofinalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
        plugin>

        <plugin>
            <groupId>com.spotifygroupId>
            <artifactId>docker-maven-pluginartifactId>
            <version>1.2.2version>
            <configuration>
                <serverId>docker-aliyunserverId>
                <registryUrl>${docker.region}registryUrl>
                <pushImage>truepushImage>

                <imageName>${docker.region}/${docker.namespace}/${docker.registry}/${project.artifactId}:${project.version}imageName>
                <baseImage>openjdk:8u212-jrebaseImage>
                <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]entryPoint>
                
                <resources>
                    <resource>
                        <targetPath>/targetPath>
                        <directory>${project.build.directory}directory>
                        <include>${project.build.finalName}.jarinclude>
                    resource>
                resources>
                
                
                <dockerHost>http://localhost:2375dockerHost>
            configuration>
        plugin>
    plugins>
build>

二)、配置maven的settings.xml文件

<servers>
	<server>
	    
	  <id>docker-aliyunid>
	  
	  <username>guestusername>
	  
      
	  <password>guestpassword>
	  <configuration>
			
			<email>[email protected]email>
	  configuration>
	server>
servers>

三)、给settings.xml配置文件的密码进行加密

Maven Password Encryption 官方文档

在/.m2文件夹中,创建settings-security.xml(如果没有的话)

  • 通过命令行执行以下命令,得到master密码
# 例如 mvn --encrypt-master-password 12345678
mvn --encrypt-master-password <password>
  • 将master密码添加到settings-security.xml
<settingsSecurity>
  <master>master密码master>
settingsSecurity>
  • 通过命令行执行以下命令,得到加密后的密码
# 例如,你的阿里云容器镜像仓库密码为666
# 那么,命令则为mvn --encrypt-password 666
mvn --encrypt-password <password>
  • 将生成的加密后的密码,替换掉原先的明文密码就可以
<servers>
	<server>
	    
	  <id>docker-aliyunid>
	  
	  <username>guestusername>
	  
	  <password>加密密码password>
	  <configuration>
			
			<email>[email protected]email>
	  configuration>
	server>
servers>

四)、打包并推送

mvn clean package -Dmaven.test.skip=true docker:build -DpushImage

你可能感兴趣的:(Docker,Java进化之旅,Spring,Boot)