无法从外部访问 Plesk 上的 MySQL Docker 容器

无法从外部访问 Plesk 上的 MySQL Docker 容器

我正在尝试设置一个 MySQL 数据库以供外部使用。我有一个装有 Plesk 和 Docker 的 Ubuntu 服务器。

主要问题是,当登录服务器时,端口似乎已被使用/打开,但在外部却并非如此。

MySQL 容器设置

当我尝试本地登录时没有问题,因为它显示端口 6991 已打开。


root@server:/# nmap -p 6990-6992 localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-13 09:37 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000034s latency).
rDNS record for 127.0.0.1: localhost.localdomain

PORT     STATE  SERVICE
6990/tcp open   unknown
6991/tcp open   unknown
6992/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

nmap当我从外部机器执行相同操作时:

user2@server2:/# nmap -p 6990-6992 [public ip]
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-13 09:45 UTC
Nmap scan report for [URL] ([public ip])
Host is up (0.000085s latency).
Other addresses for [URL] (not scanned):

PORT     STATE  SERVICE
6990/tcp closed unknown
6991/tcp closed unknown
6992/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds

服务器厂商的防火墙端口6991、6990也开放。

我尝试检查端口以启动一个简单的 pythonhttp服务器,并且成功了。

root@server:/# docker stop mysql
mysql
root@server:/# python3 -m http.server 6991
Serving HTTP on 0.0.0.0 port 6991 (http://0.0.0.0:6991/) ...

user2@server2:/# nmap -p 6991 [public ip]
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-13 11:52 UTC
Nmap scan report for [URL] ([public ip])
Host is up (0.020s latency).

PORT     STATE SERVICE
6991/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds

也许某些 Plesk 魔法阻塞了端口?

我也尝试过直接设置MYSQL_TCP_PORT为 6991,但 Docker 不会公开此端口。我无法使用 Plesk 界面进行重定向。

答案1

我遇到了完全相同的问题,这让我抓狂。谢谢你发布这篇文章,否则我还在搜索。我怀疑我们的硬件防火墙有问题,但那是 9 月中旬的一次 plesk 更新,直到我读到变更日志经过进一步的研究,我偶然发现了解决方案:

将您的 plesk 更新到最新版本。如果您已经更新了,但此方法仍未解决问题,请尝试以下操作:

  1. 通过 ssh 登录您的服务器。
  2. 删除该{"ip":"127.0.0.1"}/etc/docker/daemon.json
  3. 重启dockersystemctl restart docker
  4. 重启容器docker container restart ContainerID

https://support.plesk.com/hc/en-us/articles/17895328139671

相关内容