Próbuję hostować na docker aplikacji, która używa MySQL db. Używam funkcji tworzenia dokerów. mój plik yml wygląda następująco:Jak utworzyć bazę danych mysql db z komponentem Docker?
version: '2'
volumes:
data_sql:
services:
medical-mysql:
image: mysql
hostname: medical-mysql
volumes:
- data_sql:/dbcreation.sql
environment:
MYSQL_DATABASE: Medical
MYSQL_ROOT_PASSWORD: root
STARTUP_SQL: data_sql
ports:
- "3306:3306"
medical-main:
build: .
ports:
- "8080:8080"
depends_on:
- medical-mysql
Mam dbcreation.sql
która tworzy schemat db i jest przechowywany w folderze yml. Kiedy uruchamiam plik yml wydaje się, że plik nie jest uruchomiony.
Co przeoczyłem?
Co to jest data_sql i kiedy wywołujesz dbcreation.sql? – Mattia
data_sql to po prostu wolumin, który utworzyłem, aby hostować plik tworzenia. Nie mogłem znaleźć innego sposobu, aby to zrobić, a ten też nie działa. –
Wygląda na to, że montujesz data_sql w dbcreation.sql. Nigdy nie tworzysz bazy danych. Musisz skopiować plik/var/lib/mysql (a nie dbcreation.sql, jeśli chcesz go użyć, musisz wykonać coś takiego: mysql -u użytkownik db
Mattia