簡體   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