Комментарии 14
Нет, если пробросить сокет docker внутрь контейнера, это не даст docker-in-docker, потому что создаваемые контейнеры будут не child, а sibling. Чтобы контейнеры были вложенными, нужно сам dockerd запустить внутри контейнера, тогда сокет внутри будет свой собственный.
Не раскрыт вопрос директивы VOLUME для чего она нужна, когда надо использовать, а когда нет
Интересно было бы узнать про объем volume и как им управлять, столкнулся с тем, что большие файлы больше нескольких гиг не записываются в докер (snapdrop.io) в общем не знаю, как исследовать эту проблему.
dm.basesize
, по умолчанию это 10Гб и его можно увеличить, например отредактировав systemd-юнит. docs.docker.com/engine/reference/commandline/dockerdПодскажите, как правильно использовать NFS-хранилища.
Есть NFS-шара nas:/share/docker
, которая примонтирована в папку /mnt/nas
на хосте. В этой шаре созданы следующие папки: nas:/share/docker/node01/conf
и nas:/share/docker/node01/data
.
В docker-compose.yml
эти папки примонтированы таким образом:
services:
node01:
image: ...
container_name: ...
volumes:
- /mnt/nas/node01/conf:/app/conf
- /mnt/nas/node01/data:/app/data
Хочется убрать NFS с хоста и перенести подключение в сам контейнер. Прописываем в .yml
описание тома:
volumes:
nfs-nas-docker:
driver: local
driver_opts:
type: "nfs"
o: "addr=nas,rw,vers=4.1,noatime,rsize=65536,wsize=65536,tcp,timeo=14"
device: ":/share/docker/"
Но я так понимаю, что отдельные папки из этого тома мы не сможем монтировать в /app/conf
и /app/data
?
Как правильно поступать в таких ситуациях?
volumes:
nfs-nas-docker-conf:
driver: local
driver_opts:
type: "nfs"
o: "addr=nas,rw,vers=4.1,noatime,rsize=65536,wsize=65536,tcp,timeo=14"
device: ":/share/docker/conf"
А ещё есть вот такой плагин для Docker: github.com/ContainX/docker-volume-netshare, правда видно что он не в активной разработке, поэтому я бы не использовал его для критичных задач.
Статья 2015 года?
Обожаю эту схему из документации.

Идеальный пример поясняющей картинки, которая вообще ничего не пояснит новичку и в то же время иллюстрирует очевидное для чуть более опытного специалиста. Абсолютно непонятно на кого она ориентирована.
Если бы еще писали команды, сложные примеры использования, best practices для каждого пункта, то статье цены бы не было. А то получается, что общими словами описание дали, а подробности опять в английской документации искать. Что увеличивает время изучения материала в 2-3 раза.
Хранение данных в Docker