Как получить доступ к базе данных Presto в скрипте Dockerized Python - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь докернизировать скрипт на python, который написал кто-то на моем рабочем месте, но он делает несколько обращений к нашей базе данных presto. Когда я вызываю сценарий локально, мне просто приходится вводить весь свой пароль, и он работает, однако выполнение сценария после его докеризации приводит к ошибке 401, недействительным учетным данным. Что мне нужно сделать, чтобы сценарий dockerized мог получить доступ к сертификату?

Я проверил, что файл presto.pem находится в каталоге докеризованного скрипта, и я знаю, что скрипт явно обращается к базе данных presto, так как это проблема с учетными данными. Я переключился на другой Wi-Fi, который не должен иметь доступа к базе данных, и он начал выдавать мне другую ошибку, поэтому я знаю, что это не проблема.

Вот мой Dockerfile:

ОТ питона: 3,7

WORKDIR / app

КОПИЯ. / Приложение

RUN pip install -r needs.txt

ENTRYPOINT ["python", "app.py", "--website-id = 556f210de4b00a3ed267bc91"]

1 Ответ

0 голосов
/ 17 июня 2019

Похоже, проблема с сетью. Вы можете просмотреть настройки докера, и эта проблема может быть решена.

The host has a changing IP address (or none if you have no network access). 
From 18.03 onwards our recommendation is to connect to the special DNS name host.docker.internal, which resolves to the internal IP address used by the host.
The gateway is also reachable as gateway.docker.internal

Ссылочные ссылки:

Доступ к базе данных хоста из установочного контейнера

https://docs.docker.com/engine/reference/commandline/run/

...