У меня есть докер-контейнер, работающий на хосте, который запускается с помощью стандартной команды «docker run ...». Сеть, в которой он работает, имеет имя по умолчанию «directory_default», где «directory» - это имя текущего каталога.
У меня также есть файл компоновки докеров (на том же хосте), который содержит другое определение контейнера, которому необходимо получить доступ к уже запущенному контейнеру. Однако я продолжаю видеть ошибку при запуске файла создания сообщения о том, что сеть недоступна.
Чтение Невозможно установить связь с работающим контейнером, запущенным с помощью docker-compose, похоже, указывает на аналогичную проблему, но наоборот (подключение к запущенным контейнерам, запущенным через compose).
Я пробовал установить переменные env в compose и использовать флаг --project-name для установки сети, но не повезло. Я также попытался использовать раздел «сеть» в файле создания, чтобы определить имя сети, которое я вижу при запуске:
docker network ls
но при беге:
docker-compose up -d
затем выдает ошибку:
ERROR: Service "my_service" uses an undefined network "my_already_existing_network that you see from docker network ls"
Вот выходные данные / файлы, которые используются (выполняются в каталоге "test"):
docker network ls
NETWORK ID NAME DRIVER SCOPE
fc4c3de62436 bridge bridge local
db6b28f177d0 test_default bridge local
5db4787312e5 host host local
64dfb53be850 none null local
Первый контейнер запускается с помощью команды «docker run ...», как было сказано ранее, из каталога «test». Составной файл выглядит следующим образом:
version: "3"
services:
test_container1:
networks:
- test_default
image: mytest
container_name: mytest
restart: on-failure
ports:
- "8003:8003"
Я также попытался удалить раздел «сети» выше и вызвать docker-compose с помощью:
--project-name test_default
как описано в документации по составлению. Я не использую режим роя.