Контейнер Docker не может смонтировать папку - PullRequest
0 голосов
/ 03 октября 2018

Я работаю над приложением.Использование NodeJS для языка и docker docker-compose для развертывания.

У меня есть конечная точка для загрузки файлов.Когда я загружаю файл, приложение сохраняет его в папке «files» (папка files находится в корне проекта).Когда контейнер перезапускается, я не хочу терять файлы, поэтому я создал том с именем "myfiles" и смонтировал его по пути "/ files".

Но когда я проверяю путь к тому myfiles, я не вижу никакихиз созданных файлов по API.И если я перезапущу контейнер, загруженные файлы исчезают.

Вот мой файл docker-compose.yaml для api

version: '3.1'

services:
  api:
    image: api-image
    restart: always
    volumes:
      - myfiles:/files
volumes:
  myfiles:

После docker-compose up -d я загружаю некоторые файлы и вижу ихв контейнере, вызвав

docker exec -it container_name ls files node_modules package.json index.js package-lock.json src

docker exec -it container_name ls files d5a3455a39d8185153308332ca050ad8.png

Файлы созданы успешно.

Я проверил, правильно ли контейнер монтируется на docker inspect container_name, и результат:

"Mounts": [
        {
            "Type": "bind",
            "Source": "/var/lib/docker/volumes/myfiles/_data",
            "Destination": "/files",
            "Mode": "rw",
            "RW": true,
            "Propagation": "rslave"
        }
    ]

1 Ответ

0 голосов
/ 03 октября 2018

Вы создаете том, но не используете папку.Попробуйте использовать папку myfiles из текущего каталога:

version: '3.1'

services:
  api:
    image: api-image
    restart: always
    volumes:
      - ./myfiles:/files
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...