Как удалить базу данных postgres в контейнере Docker - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь выяснить, как полностью удалить докер-контейнер с базой данных postgres и перестроить с помощью docker-compose?

Я создал сервер и контейнер базы данных с помощью docker-compose.База данных не была настроена так, как я хотел, поэтому я хотел бы удалить базу данных и перестроить.Я предположил, что самое простое решение, учитывая, что это совершенно новое, - остановить запуск контейнера, удалить контейнер и снова запустить docker-compose.

Я выполнил эти шаги, не вижу ни одного контейнера.Я не вижу никаких объемов, связанных с контейнерами.Однако, когда я запускаю docker-compose, он, кажется, использует ранее созданную базу данных postgres?

Вот из чего состоят мои файлы docker-compose с извлеченным именем пользователя / пароля / db.

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

1 Ответ

1 голос
/ 23 сентября 2019

Docker stop и docker rm не будут работать, пока вы не удалите том подключения bind из вашего docker-compose.

Удалите это из вашего docker-compose

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

или удалите всеиз каталога хоста внутри

./data/postgres
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...