Установленный объем пуст внутри контейнера

У меня есть docker-compose.yml вот так:

db:
  image: mongo:latest
  ports:
    - "27017:27017"
server:
  image: artificial/docker-sails:stable-pm2
  command: sails lift
  volumes:
    - server/:/server
  ports:
    - "1337:1337"
  links:
    - db

server/ относится к папке файла docker-compose.yml. Однако, когда я docker exec -it CONTAINERID /bin/bash и проверьте /server, он пуст.

Что я делаю неправильно?

Ответ 1

Попробуйте использовать:

volumes:
  - ./server:/server

вместо server/ - есть случаи, когда Docker не любит конечную косую черту.

Ответ 2

Помимо ответов здесь, это может быть связано с общим доступом к дискам в настройке Docker. В Windows я обнаружил, что общий доступ к дискам должен быть включен.

Если он уже включен и вы недавно изменили пароль своего ПК, вам необходимо отключить общий доступ к диску (и нажать "Применить") и снова включить его (и нажать "Применить"). В процессе вам будет предложено ввести новый пароль для вашего ПК. После этого снова запустите команду docker (запустите или создайте) enter image description here

Ответ 3

Согласно документации томов докера,

https://docs.docker.com/engine/tutorials/dockervolumes/#/mount-a-host-directory-as-a-data-volume

Host-dir может быть либо абсолютным путем, либо значением имени. Если вы указываете абсолютный путь для host-dir, Docker привязывает-монтирует к указанному вами пути. Если вы введете имя, Docker создаст именованный том под этим именем

Ответ 4

У меня была похожая проблема, когда я хотел смонтировать каталог из командной строки:

docker run -tid -p 5080:80  -v /d/my_project:/var/www/html/my_project nimmis/apache-php5

Контейнер успешно запущен, но смонтированный каталог пуст.

Причина была в том, что смонтированный каталог должен находиться в домашнем каталоге пользователя. Итак, я создал символическую ссылку в c:\Users\<username> которая монтируется в папку моего проекта d:\my_project и смонтировал ее:

 docker run -tid -p 5080:80  -v /c/Users/<username>/my_project/:/var/www/html/my_project nimmis/apache-php5