2017-05-08 88 views
0

我想創建2個postgrSQL容器,以便可以將其中一個用作DEV,將其他用作DEV_STAGE。在fedora的Docker中創建多個PostgreSQL容器

我能夠成功地創建一個容器並將其分配到端口5432.但是,當我嘗試第二個容器時,它正在創建(有時顯示狀態爲EXITED),但因爲端口號問題。

以下是我跑的命令。 須藤搬運工運行-v 「pwd /數據:在/ var/lib中/ pgsql的/數據:Z」 -e POSTGRESQL_USER =用戶1 -e POSTGRESQL_PASSWORD =密碼-e POSTGRESQL_DATABASE = TEST_DB -d -p 5432:5432米的fedora/PostgreSQL的

須藤搬運工運行-v 「pwd/data_stage:在/ var/lib中/ pgsql的/ data_stage:Z」 -e POSTGRESQL_USER =用戶1 -e POSTGRESQL_PASSWORD =密碼-e POSTGRESQL_DATABASE = TEST_DB -d -p 5432:5433米的fedora/PostgreSQL的

我認爲我使用的端口映射不正確。但無法得到正確的。

enter image description here

回答

0

感謝您的回答。我糾正了路徑。我認爲翻轉端口號碼不會起作用。因爲我已經有一個映射到5432的容器。所以我不能再將端口映射到5432。下面的命令與我一起工作。首先,我使用導出變量PGPORT = 5433將Postgres默認端口修改爲5433。


sudo docker run -v "`pwd`/data_stg:/var/lib/pgsql/data:Z" -e PGPORT=5433 -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5433 fedora/postgresql 
0

你必須在第二個容器體積的定義錯誤。冒號後不要改變路徑,強制路徑設置爲/var/lib/pgsql/data

另外你也翻轉了端口映射。正確的命令是這樣的:

sudo docker run -v "`pwd`/data_stage:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5432 fedora/postgresql 

如果出現任何錯誤檢查集裝箱原木與docker logs CONTAINER_ID

相關問題