我试图弄清楚如何使用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]
答案 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