Saya sepertinya tidak bisa mendapatkan data MySQL untuk bertahan jika saya menjalankan $ docker-compose down
yang berikut ini.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"
Pemahaman saya adalah bahwa dalam data
wadah saya menggunakan volumes: - /var/lib/mysql
peta ke direktori mesin lokal saya di mana mysql menyimpan data ke wadah dan karena pemetaan ini data harus bertahan bahkan jika kontainer dihancurkan. Dan mysql
wadah hanyalah antarmuka klien ke db dan dapat melihat direktori lokal karenavolumes_from: - data
Mencoba jawaban ini dan tidak berhasil. Docker-Compose Data Persistent Trouble
EDIT
Berubah saya .yml
seperti yang ditunjukkan di bawah ini dan menciptakan dir ./data
tapi sekarang ketika saya menjalankan docker-compose up --build
dengan mysql
wadah wont start melempar kesalahan mengatakan
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.