Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在docker中的另一个自定义图像中使用自定义图像_Docker_Sbt - Fatal编程技术网

如何在docker中的另一个自定义图像中使用自定义图像

如何在docker中的另一个自定义图像中使用自定义图像,docker,sbt,Docker,Sbt,我有一个sbt项目,比如说DemoProject,它依赖于另一个sbt项目CommonProject DemoProject在其中使用了CommonProject的jar,我创建了两个自定义图像,第一个是CommonProject,第二个是DemoProject 这是Commons项目的DockerFile FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8 MAINTAINER name <name@gmail.com> ADD . /p

我有一个sbt项目,比如说DemoProject,它依赖于另一个sbt项目CommonProject DemoProject在其中使用了CommonProject的jar,我创建了两个自定义图像,第一个是CommonProject,第二个是DemoProject 这是Commons项目的DockerFile

FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8

MAINTAINER name <name@gmail.com>

ADD . /project-commons

WORKDIR /project-commons

# Define default command.
CMD ["sbt", "publishLocal"]
并构建它
docker构建项目演示:v1
并运行它

docker run project-demo
但是在日志中,我得到了project-commons.jar的未解析依赖项的例外,它说找不到jar 我在这里错过了什么?我是docker的初学者,请指导我你要做的事。在秒阶段(从的第二个
开始),您必须指定要从上一阶段添加的文件:

FROM project-commons:v1 as firstStage

MAINTAINER name <name@gmail.com>

WORKDIR /project-commons

ADD  . /home/user/.ivy2/local/project-commons_2.12/0.1.0-SNAPSHOT/jars/project-commons_2.12.jar
# Define default command.
CMD ["sbt","publishLocal"]

FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8

MAINTAINER name <name@gmail.com>

# Copy from previous stage
COPY --from=firstStage /projectCommons /projectCommons
COPY --from=firstStage /home/user/.ivy2/ /home/user/.ivy2/

WORKDIR /project-demo

ADD . /project-demo

# Define default command.
CMD ["sbt", "run"]
你在试着去做。在秒阶段(从
的第二个
开始),您必须指定要从上一阶段添加的文件:

FROM project-commons:v1 as firstStage

MAINTAINER name <name@gmail.com>

WORKDIR /project-commons

ADD  . /home/user/.ivy2/local/project-commons_2.12/0.1.0-SNAPSHOT/jars/project-commons_2.12.jar
# Define default command.
CMD ["sbt","publishLocal"]

FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8

MAINTAINER name <name@gmail.com>

# Copy from previous stage
COPY --from=firstStage /projectCommons /projectCommons
COPY --from=firstStage /home/user/.ivy2/ /home/user/.ivy2/

WORKDIR /project-demo

ADD . /project-demo

# Define default command.
CMD ["sbt", "run"]

您可以共享项目共享目录吗?~/git/project commons您可以共享项目共享目录吗?~/git/project commons问题仍然存在persists@swaheed您需要运行映像并进入容器内部,检查所有必需的文件是否存在运行imageuse
docker run--rm-it bash
时出现异常,它仍将取代sbt命令persists@swaheed您需要运行映像并进入容器内部,检查所有必需的文件是否存在。我在运行imageuse
docker run--rm-it bash时遇到异常,它将替换sbt命令
FROM project-commons:v1

MAINTAINER name <name@gmail.com>

ADD  . /home/user/.ivy2/local/project-commons_2.12/0.1.0-SNAPSHOT/jars/project-commons_2.12.jar

WORKDIR /project-demo

ADD . /project-demo

# Define default command.
CMD ["sbt", "run"]