Как подключиться к SQL Server, размещенному на Docker в Azure Ubuntu VM - PullRequest
0 голосов
/ 21 марта 2019

Я установил докер SQL Server 2019 на виртуальной машине Azure Ubuntu. Контейнер работает и работает. Однако я не могу подключиться к нему с помощью 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 голосов
/ 21 марта 2019

Чтобы запустить SQL Server через Docker в Ubuntu, вы можете выполнить следующие действия:

  1. Перетащите образ докера на хост 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. открыть порт 1450 в NSG, связанном с вашей виртуальной машиной

  5. подключите SQL Server через SSMS следующим образом: enter image description here

Примечание. Если вы открываете брандмауэр в виртуальной машине Ubuntu, вам также необходимо открыть порт в брандмауэре.

Вы можете найти информацию об изображении Docker в Microsoft SQL Server и более подробную информацию о Выполнить && Соединить образ SQL Server с Docker .

Обновление:

Когда вы проверяете правила NSG, я предлагаю вам войти в сеть виртуальной машины, на ней будут показаны все группы NSG, связанные с подсетью и сетевой картой. Если разрешить порт, вы должны добавить правило в оба NSG или изменить NSG на то же самое, тогда вы можете просто добавить правило только в один NSG. Проверьте правило ГЯП, как показано ниже:

enter image description here

...