Docker-compose 卷未按预期工作

Ove*_*nje 1 docker docker-compose docker-volume

我正在尝试通过 docker-composer 安装卷,但运行后docker-compose up目录为空。

Dockerfile

FROM alpine:3.8

COPY test.txt ./app/
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "3.7"

services:
  test:
    image: myrep/image:latest
    volumes:
      -  "./app/:/app/"
Run Code Online (Sandbox Code Playgroud)

我的程序:

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

知道我做错了什么吗?

emi*_*mix 5

您将文件复制到映像中,但是当您启动容器时,您在安装容器时会使用目录覆盖它。

\n\n

如果您希望该文件存在,请不要安装该卷。

\n\n

您可以通过运行没有卷的映像并执行以下命令来验证这一点:

\n\n
docker-compose exec test ls -l /app\n
Run Code Online (Sandbox Code Playgroud)\n