我正在尝试更新正在运行的Docker容器的网络。
注意:运行容器时,我没有连接任何网络。
[root@stagingrbt ~]# docker network connect host cdf8d6e3013d
Error response from daemon: container sharing network namespace with another container or host cannot be connected to any other network
[root@stagingrbt ~]# docker network connect docker_gwbridge cdf8d6e3013d
error during connect: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/networks/docker_gwbridge/connect: EOF
[root@stagingrbt ~]# docker network create -d host my-host-network
Error response from daemon: only one instance of "host" network is allowed
[root@stagingrbt ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
495080cf93e3 bridge bridge local
cf0408d6f13f docker_gwbridge bridge local
2c5461835eaf host host local
87e9cohcbogh ingress overlay swarm
84dbd78101e3 none null local
774882ac9b09 sudhirnetwork bridge local
Run Code Online (Sandbox Code Playgroud)
启动容器时,例如:
docker run -d --name alpine1 alpine
Run Code Online (Sandbox Code Playgroud)
默认情况下,它已连接到bridge网络,请使用以下命令进行检查:
docker container inspect alpine1
Run Code Online (Sandbox Code Playgroud)
如果您尝试通过以下方式将其连接到host网络:
docker network connect host alpine1
Run Code Online (Sandbox Code Playgroud)
您得到一个错误:
来自守护程序的错误响应:容器无法从主机网络断开连接或连接到主机网络
您必须删除容器,然后在主机网络上再次运行它:
docker stop alpine1
docker rm alpine1
docker run -d --network host --name alpine1 alpine
Run Code Online (Sandbox Code Playgroud)
在网桥网络上不存在此限制。您可以启动一个容器:
docker run -d --name alpine2 alpine
Run Code Online (Sandbox Code Playgroud)
将其从网桥网络断开,然后将其重新连接到另一个网桥网络。
docker network disconnect bridge alpine2
docker network create --driver bridge alpine-net
docker network connect alpine-net alpine2
Run Code Online (Sandbox Code Playgroud)
另请注意,根据文档:
主机网络驱动程序仅适用于Linux主机,Mac的Docker桌面,Windows的Docker桌面或Windows Server的Docker EE不支持该主机网络驱动程序。
| 归档时间: |
|
| 查看次数: |
5905 次 |
| 最近记录: |