Использование инструкции VOLUME
в вашем Dockerfile неверно. Ссылка Dockerfile для VOLUME гласит:
Каталог хоста объявляется во время выполнения контейнера: Каталог хоста (точка монтирования) является его природа, хост-зависимая. Это необходимо для сохранения переносимости образа, поскольку нельзя гарантировать, что данный каталог хостов будет доступен на всех хостах. По этой причине вы не можете смонтировать каталог хоста из Dockerfile. Инструкция VOLUME не поддерживает указание параметра host-dir. Вы должны указать точку монтирования при создании или запуске контейнера.
Чтобы смонтировать каталог $HOME/.kube
на хосте в контейнер во время выполнения, вы должны указать --volume
или -v
в вашей команде docker run
.
Например, сначала вы должны удалить инструкцию VOLUME
из вашего Dockerfile. Затем вы должны выполнить что-то вроде следующего:
docker run --volume $HOME/.kube:/go/src/bifrost <image name>
Это смонтирует ваш каталог $HOME/.kube
на вашем хосте в каталог /go/src/bifrost
в работающем контейнере. В этом случае файл конфигурации будет присутствовать в /go/src/bifrost/config
во время выполнения.
ПРИМЕЧАНИЕ: Это решение работает, только когда файл конфигурации kube присутствует на хосте, на котором вы запускаете свой контейнер. Чтобы включить файл конфигурации в само изображение, он должен существовать в контексте сборки Docker.