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

时间:2019-03-20 21:28:15

标签: azure docker ubuntu azure-virtual-machine

我已在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

谢谢

1 个答案:

答案 0 :(得分:0)

要通过Docker在Ubuntu上运行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