如何连接Azure Ubuntu VM中托管在Docker上的SQL Server

问题描述 投票:0回答:1

我在Azure Ubuntu VM上安装了SQL Server 2019 docker。容器已启动并正在运行。但是,我无法使用来自VM外部的SSMS连接到它。在运行容器时,我使用端口1450映射到1433.此外,我已配置NSG以允许流量。不过,我没有运气。

enter image description here

enter image description here

iptables -L enter image description here

NSG enter image description here

谢谢

azure docker ubuntu azure-virtual-machine
1个回答
0
投票

要在Ubuntu上通过Docker运行SQL Server,您可以按照以下步骤操作:

  1. 将docker镜像拉到Ubuntu主机: docker pull mcr.microsoft.com/mssql/server:2019-CTP2.2-ubuntu
  2. 通过docker命令运行映像: docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=azureUser@2018' -p 1450:1433 -d --name mssql mcr.microsoft.com/mssql/server:2019-CTP2.2-ubuntu
  3. 检查容器是否运行良好,通过docker命令执行此操作: sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P '<YourStrong!Passw0rd>'
  4. 打开与VM关联的NSG中的端口1450
  5. 通过SSMS连接SQL Server,如下所示:enter image description here

注意:如果在Ubuntu VM中打开防火墙,还需要在防火墙中打开端口。

您可以在Microsoft SQL Server中找到Docker图像信息,以及有关Run && Connect the SQL Server image with Docker的更多详细信息。

更新:

当您检查NSG规则时,我建议您进入VM网络,它将显示与子网和NIC关联的所有NSG。如果允许端口,您应该将规则添加到NSG或将NSG更改为相同,然后您只需将规则添加到一个NSG。检查NSG规则如下:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.