如何在Docker容器中删除Postgres数据库

时间:2019-09-23 16:47:04

标签: postgresql docker docker-compose

我试图弄清楚如何使用postgres数据库完全删除docker容器并使用docker-compose进行重建?

我使用docker-compose创建了服务器和数据库容器。没有按照我的需要设置数据库,因此我想删除数据库并重建。我认为最简单的解决方案是全新的,那就是停止运行该容器,删除该容器,然后再次运行docker-compose。

我已按照这些步骤操作,看不到任何容器。我没有看到与容器关联的任何卷。但是,当我运行docker-compose时,它似乎正在使用先前创建的postgres数据库?

这是我的docker-compose文件组成的文件,其中提取了用户/密码/数据库名称。

BIOPSY7-Z

我希望通过使用

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]

重新构建

2 个答案:

答案 0 :(得分:2)

您可以使用以下命令列出docker使用的卷:

docker volume ls

然后,如果需要,您可以检查卷以查找数据库使用的卷:

docker volume inspect xyzvolumename

找到数据库使用的卷后,将其删除以重新开始:

docker volume rm locatedvolumename

答案 1 :(得分:1)

CREATE TABLE [CustomerTags] ( TagID int not null, CustomerId int not null ) Docker stop将不起作用,直到您从docker rm中删除绑定装载卷。

从您的docker-compose中删除

docker-compose

或从主机目录中的所有内容删除

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