Docker-compose卷无法按预期工作

时间:2019-11-06 19:57:47

标签: docker docker-compose docker-volume

我正在尝试通过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 build .)上构建docker映像
  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文件

知道我在做什么错吗?

2 个答案:

答案 0 :(得分:1)

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

如果要保存文件,请不要挂载该卷。

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

docker-compose exec test ls -l /app

答案 1 :(得分:0)

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

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