如何解决Docker 构建命令正在删除 postgresql 数据库
我正在使用 docker 在服务器上运行 Django 项目。每次当我调用“docker-compose build”时,我的 postgresql 数据库都会被删除。请帮忙,我想在每次重建项目时保护我的数据库不被删除。 这是我的 docker-compose 文件:
version: '3'
services:
monbat-tickets-db:
container_name: monbat-tickets-db
image: postgres
restart: unless-stopped
expose:
- 5433
ports:
- 5433:5433
environment:
- LC_ALL=C.UTF-8
- POSTGRES_USER=monbat-tickets
- POSTGRES_DB=monbat-tickets
- POSTGRES_PASSWORD=monbat-ticketspass
networks:
- monbat-tickets
volumes:
# - ./docker_data/pgdata:/var/lib/postgresql/data/
- monbat-tickets-postgres:/var/lib/postgresql/data/
monbat-tickets-web:
build: .
container_name: monbat-tickets-web
restart: unless-stopped
depends_on:
- monbat-tickets-db
expose:
- 22000
ports:
- "22000:22000"
environment:
- DEBUG=0
- POSTGRES_USER=monbat-tickets
- POSTGRES_DB=monbat-tickets
- POSTGRES_PASSWORD=monbat-ticketspass
- POSTGRES_HOST=monbat-tickets-db
- POSTGRES_PORT=5433
networks:
- monbat-tickets
volumes:
# - ./docker_data/media:/app/media/
- monbat-tickets-app:/app/media/
networks:
monbat-tickets:
driver: bridge
volumes:
monbat-tickets-postgres:
driver: local
monbat-tickets-app:
driver: local
这些是我的容器(前两个是我们关心的):
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a8cc52a075e monbat_tickets_monbat-tickets-web "/bin/bash entrypoin…" 23 seconds ago Up 21 seconds 0.0.0.0:22000->22000/tcp monbat-tickets-web
7e78832d7034 postgres "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 5432/tcp,0.0.0.0:5433->5433/tcp monbat-tickets-db
c6d447060d45 monsite_monbat-web "/bin/bash entrypoin…" 7 weeks ago Up 7 weeks 0.0.0.0:21000->21000/tcp monbat-web
73caa39e2588 postgres "docker-entrypoint.s…" 2 months ago Up 2 months 5432/tcp monbat-db
这些是我的卷:
DRIVER VOLUME NAME
local monbat_tickets_monbat-tickets-app
local monbat_tickets_monbat-tickets-postgres
感谢您的帮助!请随时询问有关此案例的更多信息:)
解决方法
你有什么理由使用
docker-compose build
当您可以使用 docker-compose up -d --build
时。
另一个问题,使用 build 重新创建所有容器,等待您的信息被保存,当它明确要求您再次重新加载所有内容时。
使用 docker-compose up -d
刷新您的泊坞窗。
我很抱歉留下这个作为答案,但我的声誉没有 请允许我发表评论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。