![](/img/trans.png)
[英]How to connect to local sql server database from dockerized python app
[英]How to connect to a dockerized PostgreSQL from (an undockerized) Python app
我按照這里的說明通過Docker安裝PostgreSQL。 實際上,我使用了以下兩個命令:
Run
docker run --name postgresql -d sameersbn/postgresql:9.4-2
Login
sudo docker exec -it postgresql sudo -u postgres psql
然后我做\\conninfo
我得到:
# You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432"
我接下來要做的是(但不確定如何)連接到該數據庫的想法是在我的本地機器上運行的外部Python應用程序(而不是另一個文件夾)。
我應該為localhost:5432
拍攝localhost:5432
還是有些東西丟失了?
正如@Burhan Khalid所說,您可以使用以下方法公開您的容器端口:
docker run --name postgresql -d -p 5432:5432 sameersbn/postgresql:9.4-2
要連接到PostgreSQL容器,可以直接連接到: 127.0.0.1:5432
: 127.0.0.1:5432
。 你不能使用localhost:5432
,因為它會嘗試在你的主機中找到一個套接字文件(套接字文件在容器中)。
另一種解決方案是使用您的容器IP地址。 要查找容器IP地址,您可以使用:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <your-container-id>
但是,如果重新啟動容器,容器將獲得新的IP。 因此,您需要重新配置數據庫配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.