【发布时间】:2020-04-30 04:57:38
【问题描述】:
我正在尝试创建一个卷并将容器数据复制到其中,但 docker volume inspect data-volume
给我错误
[]
Error: No such volume: data-volume:
我在这里要做的就是我有三个 sbt 项目 projectA, projectB 和 projectC.
projectB 和 ProjectC 正在使用 projectA jar,所以我想创建 projectA 的图像并将 projectA 的 jar 复制到 docker 卷,在我的情况下是 data-volume 以便 projectB而ProjectC 可以使用data-volume 来获取jar
这是我的Dockerfile projectA
FROM hseeberger/scala-sbt:11.0.3_1.2.8_2.13.0
WORKDIR /projectA
ADD . .
RUN sbt publishLocal
这是我在projectA projectB and projectC父目录中的docker-compose.yml
version: '3.3'
services:
commons:
build:
context: ./projectA
image: projectA-test
container_name: projectA-container-test
volumes:
- data-volume:/root/.ivy2/local/project/project-commons_2.12
volumes:
data-volume:
我已经检查了图片projectA-test的内容
docker run --rm -it d73717a5e3b3 bash
并检查那里退出的文件夹
root@ed351a214093:/# cd /root/.ivy2/local/projectA/projectA-commons_2.12
我有两个问题
为什么没有创建卷?
我在上述情况下使用的方法是否正确
【问题讨论】:
-
路径中缺少的两个
As 是拼写错误吗?.../projectA/projectA...与.../project/project... -
卷不用于代码。使用 Dockerfile
COPY命令包含代码或构建的工件(如 jar 文件)。您可以COPY --from=另一个镜像,或者您可以在 Docker 之外构建 jar 文件并使用 set 将其作为依赖项包含。
标签: docker docker-compose sbt docker-volume