我正在尝试在多主机网络中创建容器,但在创建时我收到此错误:
Error response from daemon: network myapp not found
此处myapp
是我创建的覆盖网络的名称。我正在使用的命令是:
sudo docker run --rm -it --name=test_cont --net=myapp ubuntu bash
答案 0 :(得分:3)
Docker网络的作用域是针对不同的访问。您的myapp
网络是一个覆盖范围的覆盖网络。
这意味着您只能在群级别使用它 - docker service create --network myapp
可以正常工作,因为服务也处于群级别。
你可以在一个swarm上启动一个容器docker run
,但它只会在运行命令的节点上本地运行,因此无法看到群网络。
答案 1 :(得分:0)
我做了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守护程序,并删除了网络。然后,我能够重新创建它,并且一切重新开始。
答案 2 :(得分:0)
在我的例子中,即使它处于群模式,它也没有删除网络,但是如果我再次创建它,它会抛出一个错误,因为已经有一个具有该名称的网络。我不得不重新启动 docker 服务,这些是步骤:
docker network rm myapp #launch the error that the network did not exist
sudo systemctl restart docker.service #restart the docker service
docker network ls # not shows network.
答案 3 :(得分:0)
假设您将 myapp_net 网络连接到 app_container,然后:
它可以解决您的问题。