LINUX.ORG.RU

При перезагрузке docker все таблицы из базы удаляются

 


0

2

Приветствую всех.

С недавних пор начал работать с docker. И столкнулся с такой проблемой. Иногда приходится делать рестарт всего сервера, я имею ввиду не команду docker-compose restart А полную перезагрузку всей виртуальной машины. И после этого из база которая была у меня в одном из контейнеров, пропадают все таблицы. Я понимаю что когда я выполняю команды docker-compose start docker-compose stop docker-compose restart контейнеры не пересоздаются А когда docker-compose up создает новые контейнеры и docker-compose down удаляет их:

Но должно ж быть какое то решение позволяющее сохранить данные в базе, в любом случае.

Мои настройки docker

version: '2.0'

services:
  php:
    build: docker/php
    volumes:
      - ./code:/code:rw
      - ./storage:/storage:rw
    links:
      - db
  nginx:
    image: nginx:latest
    volumes:
      - ./code:/code:rw
      - ./docker/nginx/conf:/etc/nginx/conf.d/:rw
      - ./logs:/logs:rw
    links:
      - php
    ports:
      - 80:80
  phpdaemon:
    build: docker/php
    volumes_from:
      - php
    links:
      - php
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=true
      - MYSQL_DATABASE=yii

Для db контейнера должен быть такой же volume как для php

Например можно так:

version: '3'
services:
  mysql:
    image: mysql:8.0
    volumes:
      - dbdata:/var/lib/mysql

volumes:
  dbdata:
    driver: local
tugrik ★★ ()
Ответ на: комментарий от vipTelnet

а ты подумай головой, а не задницей. хотя я, наверное, многого хочу от человека, который пихает персистенс в контейнер и удивляется, что у него куда-то пропадают данные

anonymous ()