-1

我在我的 CentOS 7 Linux 服务器上运行多项服务。Nginx 和 netdata 以 root 身份运行并且运行良好。

我将 Portainer 作为 Docker 容器启动:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer

我可以在本地连接到 Portainer 端口telnet localhost 9000。但是,当我尝试telnet ip 9000从同一网络上的外部客户端 PC 访问时,它无法连接。

Linux 服务器没有防火墙。未在 Docker 中运行的 Nginx、netdata 和 myapp 可以正常工作。简而言之,可以从没有防火墙的 Linux 服务器上访问所有其他服务,但无法访问 Docker 的内部容器服务。

我需要改变什么才能到达容器?

4

1 回答 1

0

你必须禁用你的 ipv6

将此链接添加到 /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1 
net.ipv6.conf.default.disable_ipv6 = 1

影响那些

sysctl -p
于 2020-03-11T12:36:29.700 回答