mysql docker重启时数据库被删除

问题描述 投票:0回答:1

我有一个使用 mysql docker 运行的应用程序。有时,比如每两天,容器会自行重新启动,并且我拥有的数据库会丢失。

这是我的 docker-compose.yml,我使用 docker-compose -d mysql 运行 docker:

version: '3.8'

services:
  mysql:
    image: mysql:8.0.33
    restart: always
    container_name: $DB_CONTAINER_NAME
    ports:
      - '3306:3306'
    environment:
      - MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
      - MYSQL_DATABASE=$MYSQL_DATABASE
      - MYSQL_USER=$MYSQL_USER
      - MYSQL_PASSWORD=$MYSQL_PASSWORD
    volumes:
      - mysql_db_2:/var/lib/mysql
    healthcheck:
      test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost']
      interval: 5s
      timeout: 3s
      retries: 5

volumes:
  mysql_db_2:

容器启动后,我使用 sql 恢复文件恢复数据库,然后检查目录

/var/lib/docker/volumes/backend_mysql_db_2/_data/my_db/
,ibd 文件就在那里。但是当容器重新启动时我会丢失数据。是否存在配置错误,或者我的数据可能被盗?

mysql docker docker-compose
1个回答
0
投票

有什么方法可以删除卷 mysql_db_2 吗?如果您在容器修剪之后运行卷修剪,则可能会发生这种情况。

我们还可以将卷更改为本地文件夹,即使在卷修剪后也不会删除。

volumes:
   - ./mysql_db_2:/var/lib/mysql

这将会

© www.soinside.com 2019 - 2024. All rights reserved.