在使用Docker部署MySQL時,有時會遇到外部連接不上的問題。這個問題可能是由于以下幾個原因造成:
1. MySQL未綁定到正確的IP地址
2. 防火墻未正確配置
3. Docker未打開正確的端口
解決這個問題有一下幾種方法:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
$ docker ps
$ docker inspect some-mysql | grep IPAddress
運行以上命令,創建一個MySQL容器并檢查容器的IP地址,確保MySQL綁定到正確的IP地址(通常綁定到0.0.0.0)。
$ sudo ufw allow from any to any port 3306 proto tcp
$ sudo ufw status
運行以上命令,打開防火墻的3306端口以允許外部連接MySQL。
$ docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
運行以上命令,啟動MySQL容器并打開3306端口,以允許外部連接MySQL。
通過以上方法,您應該可以成功連接到MySQL容器了。