来自守护进程的错误响应:找不到网络 myapp

Abh*_*edi 12 docker

我正在尝试在多主机网络中创建一个容器,但在创建时出现此错误:

Error response from daemon: network myapp not found
Run Code Online (Sandbox Code Playgroud)

myapp是我创建的覆盖网络的名称。我使用的命令是:

sudo docker run --rm -it --name=test_cont --net=myapp ubuntu bash
Run Code Online (Sandbox Code Playgroud)

Kon*_*che 118

如果您使用docker-compose与修剪相比破坏性较小的选项,则可以通过以下方式强制重新创建容器:

docker-compose up --force-recreate
Run Code Online (Sandbox Code Playgroud)


wom*_*omd 26

就我而言,我必须:

docker system prune
systemctl restart docker.service
Run Code Online (Sandbox Code Playgroud)

让它再次发挥作用...


小智 8

执行docker system prune.

docker network ls 显示了我的网络:

NETWORK ID          NAME                DRIVER              SCOPE
pgl0gb0mbwql        myapp               overlay             swarm
Run Code Online (Sandbox Code Playgroud)

但是部署堆栈会产生如下错误:

failed to create service myapp_database: Error response from daemon: network myapp not found
Run Code Online (Sandbox Code Playgroud)

然后我问自己最重要的调试问题是:你有没有试过把它关掉再打开?

我重新启动了我的 docker 守护进程,网络被真正删除了。然后我能够重新创建它,一切又开始工作。


Elt*_*man 7

Docker 网络适用于不同的访问。您的myapp网络是一个覆盖范围的网络。

这意味着您只能在群级别使用它 -docker service create --network myapp会正常工作,因为服务也处于群级别。

您可以docker run在 swarm 上启动一个容器,但它只会在您运行命令的节点上本地运行,因此它看不到 swarm 网络。

  • 在新版本中创建网络的命令将是“docker network create myapp” (2认同)

alp*_*lus 7

删除容器(不是图像),然后再次运行:

docker compose up
Run Code Online (Sandbox Code Playgroud)