Je n'arrive pas à faire en sorte que les données MySQL persistent si je cours $ docker-compose downavec ce qui suit.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"
Ma compréhension est que dans mon dataconteneur, l'utilisation de volumes: - /var/lib/mysqlmappe vers mon répertoire de machines locales où mysql stocke les données dans le conteneur et à cause de ce mappage, les données devraient persister même si les conteneurs sont détruits. Et le mysqlconteneur n'est qu'une interface client dans la base de données et peut voir le répertoire local en raison devolumes_from: - data
J'ai tenté cette réponse et cela n'a pas fonctionné. Problème de données persistantes Docker-Compose
ÉDITER
J'ai changé mon .ymlcomme indiqué ci-dessous et créé un répertoire, ./datamais maintenant, lorsque j'exécute docker-compose up --buildle mysqlconteneur, ne démarre pas, une erreur en disant
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.