簡體   English   中英

如何刪除 docker 容器內的 postgres 數據庫

[英]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 stopdocker rm將無法工作,直到您從docker-compose中刪除綁定安裝卷。

從您的 docker-compose 中刪除它

     - ./data/postgres:/var/lib/postgresql/data

或從主機目錄中刪除所有內容

./data/postgres

暫無
暫無

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

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