Как установить sh мостовую сеть из контейнера Ubuntu Docker на хост Windows? - PullRequest
0 голосов
/ 14 января 2020

Смежный вопрос
Полезная тема

Я хочу развернуть приложение R Shiny с Docker, которое запрашивает данные с сервера MS SQL база данных через ODB C. Образ Docker имеет ОС Ubuntu 18.04 с клиентом SQL Server 2017 с соответствующим драйвером Microsoft.

Вот файл Docker, который я использую:

В RI используется пакеты DBI и odb c для подключения к нашей базе данных. Вот строка подключения, которую я использую:

  # connection string
  con <- DBI::dbConnect(
    odbc::odbc(),
    Driver   = "ODBC Driver 17 for SQL Server",
    Server   = "yy.y.yyy.y",
    Database = "our_database_name",
    uid      = "my_user_id",
    pwd      = "my_password",
    Port     = 1433
  )

После построения образа Docker я могу успешно запустить контейнер и взаимодействовать с ним на

http://localhost: 3838 / :
docker run -it -p 3838:3838 simple_app

Через некоторое время я получаю тайм-аут соединения со следующим сообщением об ошибке в Windows Powershell:

Listening on http://0.0.0.0:3838
Warning: Error in : nanodbc/nanodbc.cpp:983: 00000: 
[Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired 
[Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x102  
[Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. 
Server is not found or not accessible. 
Check if instance name is correct and if SQL Server is configured to allow remote connections. 
For more information see SQL Server Books Online. 
[Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute
  • Я убедитесь, что строка подключения Драйвер , Сервер , База данных , uid , pwd и порт верны, потому что я могу установить sh соединение с моего компьютера Windows (заменив драйвер Ubuntu 18.04 на "SQL Server").
  • Я попытался добавить IP-адрес Server в ENV NO_PROXY в Docker -файле.

Что-то, что я забыл настроить в Ubuntu 18.04 Docker изображение? Нужно ли что-то настраивать в сети нашей компании?

...