【发布时间】:2019-03-20 21:28:14
【问题描述】:
我已经在 Azure Ubuntu VM 上安装了 SQL Server 2019 docker。容器已启动并正在运行。但是,我无法从 VM 外部使用 SSMS 连接到它。在运行容器时,我使用端口 1450 映射到 1433。此外,我已将 NSG 配置为允许流量。 尽管如此,我还是没有运气。
谢谢
【问题讨论】:
标签: azure docker ubuntu azure-virtual-machine
我已经在 Azure Ubuntu VM 上安装了 SQL Server 2019 docker。容器已启动并正在运行。但是,我无法从 VM 外部使用 SSMS 连接到它。在运行容器时,我使用端口 1450 映射到 1433。此外,我已将 NSG 配置为允许流量。 尽管如此,我还是没有运气。
谢谢
【问题讨论】:
标签: azure docker ubuntu azure-virtual-machine
要在 Ubuntu 上通过 Docker 运行 SQL Server,您可以按照以下步骤操作:
将 docker 镜像拉到你的 Ubuntu 主机:
docker pull mcr.microsoft.com/mssql/server:2019-CTP2.2-ubuntu
通过 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
检查容器是否运行良好,您可以通过 docker 命令执行此操作:
sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P '<YourStrong!Passw0rd>'
在与您的 VM 关联的 NSG 中打开端口 1450
注意:如果在 Ubuntu VM 中打开防火墙,还需要在防火墙中打开端口。
您可以在Microsoft SQL Server 中找到 Docker 镜像信息以及有关Run && Connect the SQL Server image with Docker 的更多详细信息。
更新:
当你检查 NSG 规则时,我建议你可以进入 VM 网络,它会显示所有与子网和 NIC 关联的 NSG。如果允许端口,您应该将规则添加到两个 NSG 或将 NSG 更改为相同,然后您可以只将规则添加到一个 NSG。检查 NSG 规则如下:
【讨论】: