Docker-撰写卷没有按预期工作

Docker-compose volume doesn't work as expected

我正在尝试通过 docker-composer 挂载一个卷,但是在 运行 docker-compose up 之后目录是空的。

Dockerfile

FROM alpine:3.8

COPY test.txt ./app/

docker-compose.yml

version: "3.7"

services:
  test:
    image: myrep/image:latest
    volumes:
      -  "./app/:/app/"

我的程序:

  1. 在客户端构建 docker 映像 (docker build .)
  2. 将 docker 图像推送到我的注册表 (docker tag xxx myrep/image && docker push myrep/image)
  3. 在服务器上我拉取镜像(docker pull myrep/image)
  4. 运行 docker-撰写(docker-compose up)
  5. 然后当我查看应用程序文件夹时,没有 test.txt 文件

知道我做错了什么吗?

可能您应该尝试在 test.txt 之前添加 ./ 因为它不会将文件复制到根目录 希望它对你有用

    FROM alpine:3.8
    COPY ./test.txt ./app/

您将文件复制到映像中,但是当您启动容器时,您在挂载时用您的目录覆盖了它。

如果您希望文件在那里,请不要装载该卷。

您可以通过 运行 没有体积的图像并执行以下操作来验证这一点:

docker-compose exec test ls -l /app