Том для Docker-compose не работает должным образом - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь смонтировать том через 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 .)
  2. Загрузка образа докера в мой реестр (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 ]

1 голос
/ 06 ноября 2019

Вы скопировали файл в образ, но при запуске контейнера вы перезаписываете его своим каталогом при монтировании.

Если вы хотите, чтобы файл был там, не монтируйте том.

Вы можете убедиться в этом, запустив образ без тома и выполнив:

docker-compose exec test ls -l /app
0 голосов
/ 06 ноября 2019

Может быть, вам следует попробовать добавить ./ перед test.txt, поскольку он не копирует файл в корневой каталог. Надеюсь, он будет работать для вас

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