![](/img/trans.png)
[英]How to access postgres database on host from within docker container?
[英]How to delete postgres database within docker container
我想弄清楚如何完全刪除帶有 postgres 數據庫的 docker 容器並使用 docker-compose 重建?
我使用 docker-compose 創建了一個服務器和數據庫容器。 數據庫沒有按照我想要的方式設置,所以我想刪除數據庫並重建。 我假設最簡單的解決方案,因為它是全新的,將停止容器運行,刪除容器,然后再次運行 docker-compose。
我已按照這些步驟操作,沒有看到任何容器。 我沒有看到與容器關聯的任何卷。 但是,當我運行 docker-compose 時,它似乎正在使用之前創建的 postgres 數據庫?
這是我的 docker-compose 文件包含的內容,其中提取了用戶/密碼/數據庫名稱。
services:
server:
image: "node:10"
user: "node"
working_dir: /home/node/app
volumes:
- ./:/home/node/app
ports:
- 3030:3030
command: "npm start"
depends_on:
- db
db:
image: postgres:latest
restart: always
environment:
POSTGRES_USER: [user]
POSTGRES_PASSWORD: [password]
POSTGRES_DB: [db_name]
volumes:
- ./data/postgres:/var/lib/postgresql/data
我期望通過使用:
docker stop [container]
停止容器,然后docker rm [container]
移除容器
我可以用docker-compose up
重新構建
您可以使用以下命令列出 docker 使用的卷:
docker volume ls
然后,如果需要,您可以檢查卷以查找您的數據庫使用的卷:
docker volume inspect xyzvolumename
找到數據庫使用的卷后,將其刪除以重新開始:
docker volume rm locatedvolumename
Docker stop
和docker rm
將無法工作,直到您從docker-compose
中刪除綁定安裝卷。
從您的 docker-compose 中刪除它
- ./data/postgres:/var/lib/postgresql/data
或從主機目錄中刪除所有內容
./data/postgres
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.