Я пытаюсь запустить одноразовую команду для инициализации схемы базы данных в новом роуте докеров, который развернут с новой поддержкой 1.13 для docker-compose files.«сеть не может быть вручную подключена» при выполнении одноразовой команды против сети сокетов докеров
рой имеет следующую сеть:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
...
b7dptlu8zyqa vme_internal overlay swarm
...
определен в файле docker-compose.yml
как:
networks:
internal:
Команда, которую я ПУСК
docker run --rm --network vme_internal app:0.1 db upgrade
с дополнительной vme_
приставки ближайшей от имени, которое я дал стек при развертывании. Теперь, когда я запускаю приведенную выше команду, я получаю:
docker: Error response from daemon: Could not attach to network vme_internal:
rpc error: code = 7 desc = network vme_internal not manually attachable.
Как подключить сеть?
Я не нашел подходящую информацию о прикрепляемом файле в Docker networking и попробовал добавить атрибут attachable
в определение сети без успеха.
Это на 1,13 на самом деле. Как создать подключаемую сеть? Возможно ли это через файл compose или мне нужно создать сеть извне и объявить ее как таковой в файле compose? – sas
Я не верю, что у compose есть поддержка для этого. Вы можете развернуть стек, используя файл compose, который использует рой и избегает необходимости быть прикрепляемым. Или вы можете заранее определить сеть и сделать ее внешней в своем файле компоновки. – BMitch
Теперь можно непосредственно определить состав, см. Ответ ниже: https://stackoverflow.com/a/48404258/697930 – Matt