学习优先级:★★★★★

易用性:★★☆☆☆

为了确保数据库在容器重启后保留其数据,应该将数据库数据存储在单独的卷中。这可以防止在更新或重启服务时丢失数据。

以下是如何在 Docker Compose 中配置数据库,以将数据存储在单独的卷中。

示例代码

version: "3.8"

services:
  db:
    image: postgres
    environment:
      POSTGRES_USER: exampleuser
      POSTGRES_PASSWORD: examplepass
      POSTGRES_DB: exampledb
    volumes:
      - db_data:/var/lib/postgresql/data  # 将数据库数据存储在卷中

volumes:
  db_data:  # 在容器外部定义卷

执行结果

运行此 Docker Compose 配置后,PostgreSQL 数据库将所有数据存储在 db_data 卷中。这样可以确保数据在容器重启或更新时不会丢失。

将数据库存储在单独的卷中对于确保数据不会因容器重启或更新而丢失至关重要,尤其是在生产环境中,数据完整性和可用性是核心需求。Docker 会自动管理卷,这简化了数据备份和恢复。

补充说明

Docker 卷在开发阶段特别有用,可以将数据从生产环境迁移到开发环境。还可以通过将卷压缩成存档或传输到外部存储介质来创建卷的备份。