【问题标题】:docker container Mysql Port outside access issuedocker容器Mysql端口外部访问问题
【发布时间】:2021-02-28 15:47:58
【问题描述】:

我在 docker 容器中有一个 mysql,它在服务器上运行。 我可以在容器内正常运行它 使用

mysql -u root -h localhost --port=3306 -p

我已将容器 3306 映射到主机 33069 端口。

netstat -tnlp | grep :33069

在服务器上运行的上述命令显示以下结果

tcp6       0      0 :::33069                :::*                    LISTEN      120562/docker-proxy

从中可以看出mysql不仅适用于localhost。 但是,当我尝试使用命令从本地计算机连接到 mysql 时

mysql -u root -h myAddress.com --port=33069 -p

我得到了错误 Can't connect to MySQL server on ... 超时后。 我错过了什么?

【问题讨论】:

  • 您的主机上的防火墙中是否打开了 33069 端口?
  • sudo ufw status verbose 在服务器上导致我inactive。据我了解,防火墙应该没有任何问题。
  • vodolaz095 我尝试使用yougetsignal.com/tools/open-ports这个链接检查端口可访问性,它显示端口已关闭。
  • 我不能说我理解 ubuntu(我更喜欢 Centos8 或 Fedora),但似乎端口转发被禁用,因为物理网卡的伪装被禁用,或者防火墙服务不起作用,所以端口没有打开.尝试查找在 Ubuntu 中如何打开端口

标签: mysql docker ubuntu


【解决方案1】:

如果使用docker run命令,需要暴露容器的3306:33069端口,如果防火墙开启了33069端口,则需要暴露docker MySql容器主机的服务器端口。

之后在本地电脑上,需要打开 33069 端口,才能与 MySql docker 容器通信。

【讨论】:

    猜你喜欢
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 2018-05-09
    相关资源
    最近更新 更多