Docker 我怎样才能禁止外部连接到停靠的mysql?

Docker 我怎样才能禁止外部连接到停靠的mysql?,docker,docker-compose,Docker,Docker Compose,mysql服务器运行在带有Ubuntu操作系统的docker之上。 我只想允许来自Ubuntu主机的DB连接,出于安全原因,不允许来自世界其他地方的所有连接。只要不向世界公开端口,那么只有Docker网络中的容器才能连接到mysql容器。如果web服务器没有在Docker中运行,该怎么办?但它们都运行在同一台VPS服务器上?无论web服务器运行在何处,如果您的mysql容器未将端口暴露给外部,则其他地方无法访问它。您可以尝试从主机操作系统(运行Docker)访问容器。如果您还想确保您的服务器受到

mysql服务器运行在带有Ubuntu操作系统的docker之上。
我只想允许来自Ubuntu主机的DB连接,出于安全原因,不允许来自世界其他地方的所有连接。

只要不向世界公开端口,那么只有Docker网络中的容器才能连接到mysql容器。如果web服务器没有在Docker中运行,该怎么办?但它们都运行在同一台VPS服务器上?无论web服务器运行在何处,如果您的mysql容器未将端口暴露给外部,则其他地方无法访问它。您可以尝试从主机操作系统(运行Docker)访问容器。如果您还想确保您的服务器受到保护,那么您可以使用
ufw
fail2ban
来建立防火墙,并且只允许传入请求到您的web服务器端口。
docker run-it-p 127.0.0.1:3306:3306-name db mysql:latest