Docker 容器无法访问主机的接口
Docker container has no access to host's interfaces
我正在尝试使用主机网络选项从 Docker 容器内部访问主机的网络接口。
出于调试目的,我尝试使用 docker run --network host --rm -it alpine:3.9
运行 一个干净的 Alpine
容器。 运行 ip link
returns
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65520 qdisc pfifo_fast state UP qlen 1000
link/ether 62:db:1e:6b:52:fe brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:9a:e6:96:40 brd ff:ff:ff:ff:ff:ff
我希望在我的主机上使用所有接口(lo
,两个有线接口和一个无线接口,docker
)得到相同的结果。为什么不是这样?
更新以包含各种输出:
dpkg -l | grep docker
:
ii docker-ce 5:20.10.12~3-0~raspbian-bullseye armhf Docker: the open-source application container engine
ii docker-ce-cli 5:20.10.12~3-0~raspbian-bullseye armhf Docker CLI: the open-source application container engine
ii docker-ce-rootless-extras 5:20.10.12~3-0~raspbian-bullseye armhf Rootless support for Docker.
tail -4 /proc/cpuinfo
:
Hardware : BCM2711
Revision : d03114
Serial : 1000000025d45b15
Model : Raspberry Pi 4 Model B Rev 1.4
cat /etc/debian_version
:
11.2
使用 sudo
执行命令解决了这个问题。
在 dockerd-rootless-setuptool.sh
安装后执行没有 sudo
的 run
命令会导致所述问题,即网络接口不可用,而是创建一个虚拟接口。
我正在尝试使用主机网络选项从 Docker 容器内部访问主机的网络接口。
出于调试目的,我尝试使用 docker run --network host --rm -it alpine:3.9
运行 一个干净的 Alpine
容器。 运行 ip link
returns
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65520 qdisc pfifo_fast state UP qlen 1000
link/ether 62:db:1e:6b:52:fe brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:9a:e6:96:40 brd ff:ff:ff:ff:ff:ff
我希望在我的主机上使用所有接口(lo
,两个有线接口和一个无线接口,docker
)得到相同的结果。为什么不是这样?
更新以包含各种输出:
dpkg -l | grep docker
:
ii docker-ce 5:20.10.12~3-0~raspbian-bullseye armhf Docker: the open-source application container engine
ii docker-ce-cli 5:20.10.12~3-0~raspbian-bullseye armhf Docker CLI: the open-source application container engine
ii docker-ce-rootless-extras 5:20.10.12~3-0~raspbian-bullseye armhf Rootless support for Docker.
tail -4 /proc/cpuinfo
:
Hardware : BCM2711
Revision : d03114
Serial : 1000000025d45b15
Model : Raspberry Pi 4 Model B Rev 1.4
cat /etc/debian_version
:
11.2
使用 sudo
执行命令解决了这个问题。
在 dockerd-rootless-setuptool.sh
安装后执行没有 sudo
的 run
命令会导致所述问题,即网络接口不可用,而是创建一个虚拟接口。