首页 > 解决方案 > 尽管使用了卷,但 Docker mysql 容器不会保留数据。为什么?

问题描述

我正在运行两个 docker 容器。

我想保留我的数据库,因此我在我的 docker-compose 文件中使用卷。每当我重新启动容器(docker-compose down and up)时,我仍然会丢失数据。

我错过了什么?(我在 ubuntu 20.04 上)

services:
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
  db:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 'example' # TODO: Change this      
    volumes:
      - "./config/my.conf:/etc/mysql/conf.d/config-file.cnf"
      - "./data:/var/lib/mysql:rw"
      

标签: mysqldockerdocker-composedocker-volumeadminer

解决方案


使用docker-compose stop而不是docker-compose down.

文档中:

docker-compose down:停止容器并移除由 up 创建的容器、网络、和镜像。


推荐阅读