Для разработки я хочу смонтировать общий файловый ресурс из моего окна разработчика в моей виртуальной машине CoreOS, чтобы затем я мог смонтировать этот том внутри контейнера.
CoreOS, похоже, не поддерживает это и не имеет диспетчера пакетов; идея состоит в том, что это всего лишь минималистичный хост для контейнеров.
$ cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev ramfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev debugfs
nodev securityfs
nodev sockfs
nodev pipefs
nodev devpts
nodev hugetlbfs
nodev pstore
nodev mqueue
nodev autofs
ext3
ext2
ext4
Я могу возиться с контейнером и смонтировать его изнутри контейнера, но у меня возникли проблемы с настройкой через файлы Dockerfiles и сценарии точек входа; также этот подход кажется хакерским: контейнеры не должны беспокоиться о том, где хранятся данные, они просто запрашивают объем. В производстве я бы использовал хранилище AWS или хранилище Azure и т. Д., Поэтому мне пришлось бы изменить свои изображения для другого хоста, И я не могу использовать официальные изображения.
Так что да, я на 99 процентов уверен, что мне нужно смонтировать его на хосте CoreOS, но не знаю, как это сделать.
Основными принципами контейнеров является то, что они должны быть портативный и полностью автономный. Он не должен иметь никаких внешних зависимостей, зависящих от среды (например, определенного сетевого ресурса).
Вместо того, чтобы создавать свой контейнер внутри CoreOS, вы должны создать свой контейнер на выделенном хосте сборки, который имеет доступ к общему сетевому ресурсу. Затем все файлы, которые необходимы контейнеру, должны быть инкапсулированы внутри контейнера или контейнера тома и отправлены в CoreOS с помощью реестра докеров.
CoreOS на самом деле не предназначена для разработки. Он предназначен для использования при развертывании. Вы можете обнаружить, что vagrant обеспечивает лучший рабочий процесс, поскольку может монтировать тома между хостом и гостем.