Как подключиться к базе данных с сервера host - sql в контейнере, работающем под docker compose - PullRequest
0 голосов
/ 15 декабря 2018

Я использую Sql Server в контейнере.Я настроил docker-compose, и все сервисы могут подключаться к базе данных для выполнения миграций ядра структуры времени разработки.

Я хотел бы подключиться к базе данных с хост-машины.Это не похоже на работу со следующим кодом (используя «порт»).Я получаю

"
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)
The network path was not found
" 

файл yaml для docker-compose:

version: '3.4'
    services:
      mssql:
        image: mcr.microsoft.com/mssql/server:2017-latest
        container_name: sqlservice
        ports:
          - 1433:1433
etc...

Любые идеи с благодарностью.

1 Ответ

0 голосов
/ 15 декабря 2018

Спасибо paulsm4

Ссылка на документы MS дает ответ:

ОТВЕТ: Используйте IP-адрес локальной машины. См. https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-2017

Найти IPадрес машины, на которой размещен ваш контейнер.В Linux используйте ifconfig или ip addr.В Windows используйте ipconfig.

Запустите sqlcmd, указав IP-адрес и порт, сопоставленный с портом 1433 в вашем контейнере.В этом примере это тот же порт, 1433, на хост-компьютере.Если бы вы указали другой сопоставленный порт на хост-компьютере, вы бы использовали его

(я использовал 0.0.0.0, а также попробовал IP-адрес, предоставленный Docker Inspect - оба из них не удалось)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...