簡體   English   中英

Postgres docker 容器外部訪問問題,當使用綁定安裝的數據目錄和預先存在的數據庫時

[英]Postgres docker container external access issue when using a bind mounted data directory with pre-existing database

我正在嘗試使用預先存在的數據庫中的數據目錄並啟動一個新的 postgres docker 容器(相同版本 9.5),並將其“/var/lib/postgresql/data”綁定安裝到數據目錄。

我發現即使我能夠啟動容器並在容器中使用 psql 連接到它,外部連接也會因密碼無效而失敗。 這盡管我設置了 POSTGRES_USER、POSTGRES_DB 和 POSTGRES_PASSWORD 環境變量。

有沒有辦法使這項工作? 我也嘗試過這種方法,但遇到了權限錯誤,

“sh:1:/usr/local/bin/init.sh:權限被拒絕”

謝謝

當您的用戶/組 ID 與文件所有者不匹配時,就會發生這種情況。 您應該使用--user運行 docker

請查看https://hub.docker.com/_/postgresArbitrary --user Notes

希望這將幫助您解決問題。

對於作曲家,請查看https://docs.docker.com/compose/reference/run/

好的,我想出了這樣做的方法,結果非常簡單。 我所做的只是,

  • 添加腳本並將其復制到我的 Dockerfile 中的 docker-entrypoint-initdb.d
  • 在腳本中,我有一個循環,在重置超級用戶密碼和權限之前等待數據庫啟動和運行。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM