Error response from daemon network
Я пытаюсь создать контейнер в сети с несколькими хостами, но при создании я получаю эту ошибку:
Error response from daemon: network myapp not found
Вот myappимя оверлейной сети, которую я создал. Команда, которую я использую, это:
sudo docker run –rm -it –name=test_cont –net=myapp ubuntu bash
Я начал получать эту ошибку после выполнения docker system prune.
docker network ls показал мою сеть:
NETWORK ID NAME DRIVER SCOPE
pgl0gb0mbwql myapp overlay swarm
Но развертывание стека выдало бы ошибку, подобную:
failed to create service myapp_database: Error response from daemon: network myapp not found
Затем я задал себе самый важный вопрос об отладке: вы пробовали выключать и включать его снова?
Я перезапустил свой демон docker, и сеть была удалена по-настоящему. Затем я смог воссоздать его, и все снова начало работать.
Сети Docker ограничены для разного доступа. Ваша myappсеть представляет собой оверлейную сеть, ограниченную роем.
Это означает, что вы можете использовать его только на уровне swarm – docker service create –network myappбудет работать нормально, потому что сервисы тоже находятся на уровне swarm.
Вы можете запустить контейнер с docker runпомощью on a swarm, но он будет выполняться только локально на узле, на котором вы запускаете команду, поэтому он не может видеть сети swarm.
Контейнер создания Docker не может найти сетевую карту: ответ об ошибке от демона: сеть XXXX не найдена
Сетевая карта ES net не найдена
Решение
1. Создайте новый пользовательский тип сети:
Docker network создает сеть es net (имя сетевой карты)
2. Отсоедините контейнер от предыдущей пользовательской сети:
Docker network disconnect es net es (имя контейнера)
3. Установите соединение между контейнером и новой пользовательской сетью:
Docker network connect es net es (имя контейнера)
4. Запустите контейнер:
docker запускает es
Как удалить сеть docker, которая не существует?
У меня есть конфигурация docker swarm с 3 узлами. Существует сеть, которая находится только на одном из узлов. На этом конкретном узле
docker network ls
отображается сеть с docker network rm [network-id]надписью: “Ответ об ошибке от daemon: network … не найдено”,
пока docker network inspect [network-id] отображается сеть, и она выглядит довольно хорошо (область действия: рой, драйвер: наложение). Точно так же, как тот, который я создал параллельно с тестированием, чтобы сравнить его. Есть идеи у кого-нибудь? Как я могу избавиться от этого сетевого зомби?
Решение
Пожалуйста, попробуйте следующее.
docker network inspect <id> or <name>
В разделе Контейнеры вы видите все контейнеры, которые все еще подключены к сети
docker network disconnect -f <networkID> <endpointName> or <endpointId> t ry both
Затем удалите все неиспользуемые сети
docker network prune
Исправлена проблема для меня 😉