[英]starting postgres container with persistant volume [docker compose]
我的數據庫容器有問題,所以我想將現有的數據庫(從主機)掛載到生成的容器(使用docker-compose)。 我將向您展示yaml文件的重要部分:
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
ports:
- "5432:5432"
volumes:
- ./postgres/data:/var/lib/postgresql/data
因此,當我構建並打開docker-compose時,postgres容器退出了:
如果刪除持久性卷,它將無法正常運行! 我也用mysql,mongodb->同樣的問題進行了測試。
你能照亮我嗎?
謝謝。
我解決了這個問題,我想分享。 實際上,為使容器在“ docker-compose up”命令后打開,我們應添加tty和命令參數,例如:
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
ports:
- "5432:5432"
volumes:
- ./postgres/data:/var/lib/postgresql/data
tty: true
command: /bin/bash
我希望這會有所幫助。
最簡單的方法是命名卷,這些卷也可以在多個服務之間重用,並且可以使用docker命令行輕松檢索和檢查...
docker volume create db-data
services
postgres:
image: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
ports:
- "5432:5432"
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
docker volume inspect db-data
來源: 撰寫文件參考
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.