我对Java和Docker都很陌生。我有两个Git存储库:
这两个存储库都是Java项目。我的指令是从project到mvn clean install,然后从project开始使用mvn clean install && mvn build,这样项目应用程序就可以使用由project生成的.war文件。我试图通过创建一个项目映像来对这个设置进行文档化-cms如下所示:
FROM maven:3.5.2-jdk-8-alpine
LABEL Name=project-cms Version=1.0.0
# Container configuration
RUN mkdir /project-cms
COPY . /project-cms
WORKDIR /project-cms
VOLUME /project-cms
RUN mvn clean install这很好,现在我看到了一个名为project:docker image ls的最新图像。我试着用这个图像来构建我的项目--像这样的应用程序:
FROM project-cms:latest
LABEL Name=project-app Version=1.0.0
# Container configuration
RUN mkdir /app
COPY . /app
WORKDIR /app
VOLUME /app
RUN mvn clean install && mvn build
EXPOSE 8080
CMD [ "mvn", "tomcat7:run" ]我的理解是,来自project的.war文件应该可以用于项目应用程序,因为我在上面运行的是FROM project-cms:latest。当我试图构建这个映像时,它会抛出以下错误:
[ERROR] Failed to execute goal on project xxxx: Could not resolve dependencies for project com.xxxx:xxxx:war:2.28.1: Could not find artifact com.xxxx:publishing-site:jar:classes:1.02.26 in hippo (http://maven.onehippo.com/maven2/) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
The command '/bin/sh -c mvn clean install && mvn build' returned a non-zero code: 1请注意,我在上面的错误消息中用xxxx编辑了实际的项目名称。我的想法是在我们的AWS弹性容器服务(AWS)中托管这个项目--cms Docker映像,这样其他开发人员就可以将该映像用于构建项目应用程序,而不是在每台开发人员机器上手动安装Maven等。任何解决这一问题的帮助都是非常感谢的。
发布于 2018-01-04 15:57:07
maven本地回购是以前版本的映像中的卷,在https://github.com/carlossg/docker-maven/pull/57中删除。
如果您使用FROM maven:3.5-jdk-8-alpine,它应该可以工作。
https://stackoverflow.com/questions/48075454
复制相似问题