#azure #docker #ubuntu #azure-virtual-machine
#azure #docker #ubuntu #azure-виртуальная машина
Вопрос:
Я установил SQL Server 2019 docker на виртуальной машине Azure Ubuntu. Контейнер запущен. Однако я не могу подключиться к нему с помощью SSMS извне виртуальной машины. При запуске контейнера я использовал порт 1450 для сопоставления с 1433. Кроме того, я настроил NSG для разрешения трафика. Тем не менее, мне не повезло.
Спасибо
Ответ №1:
Чтобы запустить SQL Server через Docker на Ubuntu, вы можете выполнить следующие действия:
-
Перенесите образ 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>' -
откройте порт 1450 в NSG, связанном с вашей виртуальной машиной
Примечание: Если вы открываете брандмауэр на виртуальной машине Ubuntu, вам также необходимо открыть порт в брандмауэре.
Информацию об образе Docker можно найти в Microsoft SQL Server и более подробную информацию о запуске и подключении образа SQL Server к Docker.
Обновить:
Когда вы проверите правила NSG, я предлагаю вам зайти в сеть виртуальной машины, там будут показаны все NSG, связанные с подсетью и сетевой картой. Если разрешить порт, вы должны добавить правило в оба NSG или изменить NSG как одно и то же, тогда вы можете просто добавить правило только в один NSG. Проверьте правило NSG, как показано ниже:
Комментарии:
1. Спасибо. Это то, что именно я сделал. Я могу подключить SQL Server локально из Ubuntu. Однако не с внешней виртуальной машины
2. @user1716729 Добавляете ли вы правило NSG, чтобы разрешить порт 1450 с виртуальной машиной? Я могу подключить его снаружи.
3. @user1716729 Хорошо, когда вы вводите имя сервера в SSMS, между IP-адресом и портом стоит запятая, не так ли?
4. @user1716729 Возможно, вы можете изменить источник, указав значение любого из правил NSG для порта 1450. Кроме того, вы можете проверить, существуют ли на компьютере правила, блокирующие трафик.
5. @user1716729 Есть еще обновления для того, что вы сделали для запуска SQL Server в Docker на виртуальной машине?