Saya sepertinya tidak bisa mendapatkan data MySQL untuk bertahan jika saya menjalankan $ docker-compose downyang 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 datawadah saya menggunakan volumes: - /var/lib/mysqlpeta ke direktori mesin lokal saya di mana mysql menyimpan data ke wadah dan karena pemetaan ini data harus bertahan bahkan jika kontainer dihancurkan. Dan mysqlwadah 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 .ymlseperti yang ditunjukkan di bawah ini dan menciptakan dir ./datatapi sekarang ketika saya menjalankan docker-compose up --builddengan mysqlwadah 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.