[macrozheng/mall]只改一个项目的源码,但每次点击maven插件的package按钮都生成3个新的镜像

2024-02-05 650 views
3

我只改了一个项目mall-portal,能不能只针对这个项目编译-创建新镜像啊,其余两个mall-admin和mall-search不需要生成新的docker镜像啊

另外,在项目根目录执行 mvn clean package docker:build,必然报错

Failed to execute goal com.spotify:docker-maven-plugin:1.2.2:build (default-cli) on project mall-common: Exception caught: Must specify baseImage if dockerDirectory is null -> [Help 1]

提示common模块也要基础镜像?common应该不需要生成独立的docker镜像吧?

回答

9

我找到解决办法了,单独执行某module的package就可以了 mvn clean package -pl mall-admin -am mvn clean package -pl mall-portal -am mvn clean package -pl mall-search -am

执行mvn clean package docker:build 行不通的

5
Failed to execute goal com.spotify:docker-maven-plugin:1.2.2:build (build-image) on project mall-admin: Exception caught

我前段时间用docker-maven-plugin:1.2.2也是没问题的,今天试了突然报了这个错,1.1.0-1.2.2所有版本依然不行,感觉不是版本问题。 可能这个问题不是在所有人哪里都能复现,所以我把方案提到closed

由于spotify官方已声明停止docker-maven-plugin插件更新,推荐使用:dockerfile.maven.plugin

1.4.17 com.spotify dockerfile-maven-plugin registry.cn-hangzhou.aliyuncs.com/hdtopku/mall/${project.artifactId} ${project.version} mall/${project.artifactId}:${project.version} ${project.build.finalName}.jar ``` 同时分别在`mall-admin`、`mall-portal`、`mall-search`三个项目根目录下分别新建Dockerfile文件 ``` FROM java:8 ARG JAR_FILE ADD target/${JAR_FILE} app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 最后在`idea`Lifecycle点击package即可推到远程仓库
2

Failed to execute goal com.spotify:docker-maven-plugin:1.2.2:build (build-image) on project mall-admin: Exception caught 这个错误应该是因为服务器的docker sock没开导致的 参考 使用Maven插件构建Docker镜像

vi /usr/lib/systemd/system/docker.service
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

    :wq

echo '{ "insecure-registries":["服务器IP:5000"] }' > /etc/docker/daemon.json

systemctl daemon-reload
systemctl stop docker
systemctl start docker