Problems
我们在使用dockerfile maven插件推送项目生成的docker image到docker hub上的时候,会有如下第126行的提示。
lwk@qwfys:~/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl$ mvn clean install dockerfile:build dockerfile:push
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< com.xtwj.mall:user-service-impl >-------------------
[INFO] Building user-service-impl 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ user-service-impl ---
[INFO] Deleting /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target
[INFO]
[INFO] --- spring-javaformat-maven-plugin:0.0.9:apply (default) @ user-service-impl ---
[INFO]
[INFO] --- spring-javaformat-maven-plugin:0.0.9:validate (default) @ user-service-impl ---
[INFO]
[INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ user-service-impl ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ user-service-impl ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/classes
[INFO]
[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ user-service-impl ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ user-service-impl ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ user-service-impl ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:3.1.0:jar (default-jar) @ user-service-impl ---
[INFO] Building jar: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl.jar
[INFO]
[INFO] --- maven-javadoc-plugin:3.1.0:jar (javadoc) @ user-service-impl ---
[INFO] Building jar: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-javadoc.jar
[INFO]
[INFO] --- maven-javadoc-plugin:3.1.0:jar (default) @ user-service-impl ---
[INFO] Building jar: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-javadoc.jar
[INFO]
[INFO] >>> maven-source-plugin:3.0.1:jar (attach-sources) > generate-sources @ user-service-impl >>>
[INFO]
[INFO] --- spring-javaformat-maven-plugin:0.0.9:apply (default) @ user-service-impl ---
[INFO]
[INFO] --- spring-javaformat-maven-plugin:0.0.9:validate (default) @ user-service-impl ---
[INFO]
[INFO] <<< maven-source-plugin:3.0.1:jar (attach-sources) < generate-sources @ user-service-impl <<<
[INFO]
[INFO]
[INFO] --- maven-source-plugin:3.0.1:jar (attach-sources) @ user-service-impl ---
[INFO] Building jar: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-sources.jar
[INFO]
[INFO] --- maven-source-plugin:3.0.1:jar-no-fork (default) @ user-service-impl ---
[INFO] Building jar: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-sources.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.2.1.RELEASE:repackage (default) @ user-service-impl ---
[INFO] Replacing main artifact with repackaged archive
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ user-service-impl ---
[INFO] Installing /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl.jar to /home/lwk/.m2/repository/com/xtwj/mall/user-service-impl/0.0.1-SNAPSHOT/user-service-impl-0.0.1-SNAPSHOT.jar
[INFO] Installing /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/pom.xml to /home/lwk/.m2/repository/com/xtwj/mall/user-service-impl/0.0.1-SNAPSHOT/user-service-impl-0.0.1-SNAPSHOT.pom
[INFO] Installing /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-javadoc.jar to /home/lwk/.m2/repository/com/xtwj/mall/user-service-impl/0.0.1-SNAPSHOT/user-service-impl-0.0.1-SNAPSHOT-javadoc.jar
[INFO] Installing /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-javadoc.jar to /home/lwk/.m2/repository/com/xtwj/mall/user-service-impl/0.0.1-SNAPSHOT/user-service-impl-0.0.1-SNAPSHOT-javadoc.jar
[INFO] Installing /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-sources.jar to /home/lwk/.m2/repository/com/xtwj/mall/user-service-impl/0.0.1-SNAPSHOT/user-service-impl-0.0.1-SNAPSHOT-sources.jar
[INFO] Installing /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-sources.jar to /home/lwk/.m2/repository/com/xtwj/mall/user-service-impl/0.0.1-SNAPSHOT/user-service-impl-0.0.1-SNAPSHOT-sources.jar
[INFO]
[INFO] --- dockerfile-maven-plugin:1.4.13:build (default-cli) @ user-service-impl ---
[INFO] dockerfile: null
[INFO] contextDirectory: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl
[INFO] Building Docker context /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl
[INFO] Path(dockerfile): null
[INFO] Path(contextDirectory): /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl
[INFO]
[INFO] Image will be built as lanzhou/user-service:latest
[INFO]
[INFO] Step 1/7 : FROM openjdk:11-jdk
[INFO]
[INFO] Pulling from library/openjdk
[INFO] Digest: sha256:c03d9833fa868027f586b86ddcc0c9d02efc81ed4825d535efc590f5bdda7327
[INFO] Status: Image is up to date for openjdk:11-jdk
[INFO] ---> ecea1177bed0
[INFO] Step 2/7 : VOLUME /tmp
[INFO]
[INFO] ---> Using cache
[INFO] ---> 6d3d1ae86d01
[INFO] Step 3/7 : ARG JAR_FILE
[INFO]
[INFO] ---> Using cache
[INFO] ---> 27ff65287565
[INFO] Step 4/7 : ADD ${JAR_FILE} app.jar
[INFO]
[INFO] ---> 69c36df2f825
[INFO] Step 5/7 : RUN bash -c 'touch /app.jar'
[INFO]
[INFO] ---> Running in d42637bde22a
[INFO] Removing intermediate container d42637bde22a
[INFO] ---> 37ff60ddd734
[INFO] Step 6/7 : EXPOSE 18000
[INFO]
[INFO] ---> Running in b84e24045f41
[INFO] Removing intermediate container b84e24045f41
[INFO] ---> ad14301ad6ad
[INFO] Step 7/7 : ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar", "/app.jar"]
[INFO]
[INFO] ---> Running in 08f459131831
[INFO] Removing intermediate container 08f459131831
[INFO] ---> 60d4d9045b43
[INFO] Successfully built 60d4d9045b43
[INFO] Successfully tagged lanzhou/user-service:latest
[INFO]
[INFO] Detected build of image with id 60d4d9045b43
[INFO] Building jar: /home/lwk/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl/target/user-service-impl-docker-info.jar
[INFO] Successfully built lanzhou/user-service:latest
[INFO]
[INFO] --- dockerfile-maven-plugin:1.4.13:push (default-cli) @ user-service-impl ---
[WARNING] Did not find maven server configuration for docker server docker.io
[INFO] The push refers to repository [docker.io/lanzhou/user-service]
[INFO] Image 50710bdf600e: Preparing
[INFO] Image a7ddd4a51cbc: Preparing
[INFO] Image 38c8683424bf: Preparing
[INFO] Image 2fcb5a3afb1f: Preparing
[INFO] Image 27974e3533d3: Preparing
[INFO] Image d35c5bda4793: Preparing
[INFO] Image a3c1026c6bcc: Preparing
[INFO] Image f1d420c2af1a: Preparing
[INFO] Image 461719022993: Preparing
[INFO] Image d35c5bda4793: Waiting
[INFO] Image a3c1026c6bcc: Waiting
[INFO] Image f1d420c2af1a: Waiting
[INFO] Image 461719022993: Waiting
[INFO] Image 50710bdf600e: Pushing
[INFO] Image a7ddd4a51cbc: Pushing
[INFO] Image 2fcb5a3afb1f: Mounted from lanzhou/user-business
[INFO] Image 27974e3533d3: Mounted from lanzhou/user-business
[INFO] Image 38c8683424bf: Mounted from lanzhou/user-business
[INFO] Image a3c1026c6bcc: Mounted from lanzhou/user-business
[INFO] Image 50710bdf600e: Pushed
[INFO] Image d35c5bda4793: Mounted from lanzhou/user-business
[INFO] Image f1d420c2af1a: Mounted from lanzhou/user-business
[INFO] Image 461719022993: Mounted from lanzhou/user-business
[INFO] Image a7ddd4a51cbc: Pushed
[INFO] latest: digest: sha256:7960c98adf8cfb87b1eb873438d1e03c25ce5abac2570946f5e74bfd1e9d011f size: 2218
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:23 min
[INFO] Finished at: 2020-04-20T13:28:00+08:00
[INFO] ------------------------------------------------------------------------
lwk@qwfys:~/Public/project/com/qwfys/dragon/dragon-service/user-service/user-service-impl$
针对上述问题,经查阅资料发现,dockerfile maven插件在将docker image推送到docker hub上的时候,会在~/.m2/settings.xml文件的servers
标签中查找一个id为docker.io,没有找到的时候会给出这么一个提示,但是也不影响正常推送。如果要消除这个告警,可以用下面办法解决。
Solutions
~/.m2/settings.xml
<server>
<id>docker.io</id>
<username>qwfys</username>
<password>******</password>
<configuration>
<email>qwfys200@qq.com</email>
</configuration>
</server>
pom.xml
<properties>
<docker.image.organization>lanzhou</docker.image.organization>
<docker.image.repository>user-api</docker.image.repository>
<docker.tag.version>latest</docker.tag.version>
</properties>
<build>
<finalName>${project.name}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<configuration>
<repository>${docker.image.organization}/${docker.image.repository}</repository>
<tag>${docker.tag.version}</tag>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<!--<repository>-->
<!-- <id>aliyun-docker</id>-->
<!-- <url>registry.cn-hangzhou.aliyuncs.com</url>-->
<!--</repository> -->
<repository>
<id>docker.io</id>
<url>https://index.docker.io/v1/</url>
</repository>
</repositories>