繁体   English   中英

Docker-Compose Workflow,docker-compose down?

[英]Docker-Compose Workflow, docker-compose down?

我正在学习docker有一个工作的docker-compose实现与django / postgresql。 一切都按预期工作。 我的问题是数据持久性和数据风险被认为是“最佳实践”。

这是我的完整docker-compose.yml:

version: '2'
services:
  db:
    image: postgres
    volumes:
      - postgresql:/var/lib/postgresql
    ports:
      - "5432:5432"
    env_file: .env
  web:
    build: .
    command: python run_server.py
    volumes:
      - .:/project
    ports:
      - "8000:8000"
    depends_on:
      - db
volumes:
  postgresql:

run_server.py脚本只是检查以确保数据库可以连接到然后运行python manage.py runserver

因此,如果我停止我的容器并重新启动它们,数据仍然存在。 我关心的是docker-compose down命令。 此命令删除数据库。 这是有意的吗? 似乎很容易运行它并意外地造成很多伤害。

有没有办法使数据库持续存在,即使这些容器被删除了?

我按照本指南将Django与Docker集成在一起。

https://docs.docker.com/compose/django/

使数据“持久化”的方法是将数据库设置在Docker镜像之外,让APP通过settings.py连接到数据库

有了这个技巧,当容器关闭时,dabase会持续存在,因为它位于同一个容器之外。

另一个技巧是将数据库设置在另一个docker容器中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM