Ubuntu上的Docker不';无法连接到本地主机

Ubuntu上的Docker不';无法连接到本地主机,docker,ubuntu,localhost,Docker,Ubuntu,Localhost,我已经花了几个小时试图弄明白为什么docker碰巧不能在我的机器上工作。我正在使用Ubuntu18.01XFCE。已使用官方网站安装docker,并尝试使用docker container run-it-p 8000:80 nginx命令测试运行映像。第一次运行正常,但只有在本地主机进入无休止的加载循环时我才会尝试。它只有在我重新启动docker后才起作用,然后才是第一次。我还尝试将docker.service文件编辑到: [Service] ExecStart= ExecStart=/usr/

我已经花了几个小时试图弄明白为什么docker碰巧不能在我的机器上工作。我正在使用Ubuntu18.01XFCE。已使用官方网站安装docker,并尝试使用
docker container run-it-p 8000:80 nginx
命令测试运行映像。第一次运行正常,但只有在本地主机进入无休止的加载循环时我才会尝试。它只有在我重新启动docker后才起作用,然后才是第一次。我还尝试将
docker.service
文件编辑到:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
按照
https://docs.docker.com/install/linux/linux-postinstall/
同样没有变化

这个问题有解决办法吗?它和操作系统有问题吗?某种冲突问题?如果是,有解决办法吗

更新:

当容器运行时,将显示what
ip addr show docker0
命令:

5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:4e:4b:8e:af brd ff:ff:ff:ff:ff:ff
    inet6 fe80::42:4eff:fe4b:8eaf/64 scope link 
       valid_lft forever preferred_lft forever
我只发现了以下几行:

Feb  5 11:09:43 unkn0wn27-X550VX kernel: [ 1992.746817] docker0: port 2(vethb213531) entered disabled state
Feb  5 11:09:43 unkn0wn27-X550VX kernel: [ 1992.753883] device vethb213531 left promiscuous mode
Feb  5 11:09:43 unkn0wn27-X550VX kernel: [ 1992.753893] docker0: port 2(vethb213531) entered disabled state
这一行:

Feb  5 11:09:43 unkn0wn27-X550VX NetworkManager[1280]: <info>  [1580893783.3528] device (vethb213531): released from master device docker0
2月5日11:09:43未知0WN27-X550VX网络管理器[1280]:[1580893783.3528]设备(vethb213531):从主设备docker0发布
不确定这对我的案子是否有帮助

更新3:


一个解决方案是不断编写命令
sudo ip addr add 172.17.0.1/16 dev docker0

问题是Docker没有保留它的IPV4地址。 我所要做的就是打开
/etc/systemd/network/mynet.network
,并添加以下两行:

[Match]
Name=docker0

[Link]
Unmanaged=yes
重新启动
systemctl Restart systemd networkd
systemctl Restart docker


此解决方案的所有信用都在此处找到:

问题在于Docker没有保留其IPV4地址。 我所要做的就是打开
/etc/systemd/network/mynet.network
,并添加以下两行:

[Match]
Name=docker0

[Link]
Unmanaged=yes
重新启动
systemctl Restart systemd networkd
systemctl Restart docker


此解决方案的所有积分如下:

docker.service
的修改有效地使任何本地进程都可以无限制地访问根目录。这是一个巨大的安全问题,你应该立即撤销它。你遇到了什么问题?您是否可以包括您收到的实际错误消息或其他一些示例输出?您可以包含应用程序源代码的相关片段吗?这就是问题所在,没有显示错误,我所做的就是使用这个命令
docker container run-it-p 8000:80 nginx
。同样,在第一次重新启动docker后,它工作正常,但第二次docker显示它正在工作,但我无法访问
localhost:8000
。对
docker.service
的修改有效地使任何本地进程都可以无限制地访问根目录。这是一个巨大的安全问题,你应该立即撤销它。你遇到了什么问题?您是否可以包括您收到的实际错误消息或其他一些示例输出?您可以包含应用程序源代码的相关片段吗?这就是问题所在,没有显示错误,我所做的就是使用这个命令
docker container run-it-p 8000:80 nginx
。再次,在重新启动docker后,第一次它工作正常,但第二次docker显示它工作正常,但我无法访问
localhost:8000