$ docker-compose down
Aşağıdakilerle çalışırsam MySQL verilerinin kalıcı olmasını sağlayamıyorum.yml
version: '2'
services:
# other services
data:
container_name: flask_data
image: mysql:latest
volumes:
- /var/lib/mysql
command: "true"
mysql:
container_name: flask_mysql
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this
MYSQL_USER: 'test'
MYSQL_PASS: 'pass'
volumes_from:
- data
ports:
- "3306:3306"
Anladığım kadarıyla benim data
kapsayıcıda volumes: - /var/lib/mysql
mysql'in kapsayıcıya veri depoladığı yerel makineler dizinime eşler ve bu eşleme nedeniyle kaplar yok olsa bile verilerin devam etmesi gerektiğidir. Ve mysql
kapsayıcı db içine sadece bir istemci arayüzü ve nedeniyle yerel dizini görebilirsinizvolumes_from: - data
Bu yanıtı denedi ve işe yaramadı. Docker-Compose Kalıcı Veri Sorunu
DÜZENLE
Gözlerimi Değişti .yml
aşağıda gösterilen ve bir dir yaratılan olarak ./data
ama şimdi çalıştırdığınızda konteyner alışkanlık başlangıç söyleyerek hata atardocker-compose up --build
mysql
data:
container_name: flask_data
image: mysql:latest
volumes:
- ./data:/var/lib/mysql
command: "true"
mysql:
container_name: flask_mysql
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this
MYSQL_USER: 'test'
MYSQL_PASS: 'pass'
volumes_from:
- data
ports:
- "3306:3306"
flask_mysql | mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)
flask_mysql | 2016-08-26T22:29:21.182144Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
flask_mysql | 2016-08-26T22:29:21.185392Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.