Mam nadzieję, że jedna z tych interpretacji jest poprawna.
Czy mogę uruchomić wiele demonów mysql w różnych kontenerach, które współdzielą jeden wolumen danych?
Nie, każdy demon potrzebuje osobnego katalogu danych, aby uniknąć konfliktów. Możesz umieścić wiele katalogów danych we współdzielonym woluminie, ale wynikiem tego jest wiele całkowicie oddzielnych baz danych. - źródło
Czy mogę uruchomić wiele kontenerów, które połączą? do pojedynczego kontenera bazy danych mysql?
Tak, można zezwolić wielu kontenerom na łączenie się z jednym kontenerem bazy danych, ale nie przez współdzielenie woluminów. Container Z uruchomi demona mysql, a inne kontenery będą mogły się z nim łączyć przez gniazda tcp. oficjalne repozytorium mysql Readme zawiera kroki, aby rozpocząć:
Pierwsze uruchomienie kontenera Z.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
Następnie uruchom inne kontenery, które chcesz połączyć z bazą danych w następujący sposób:
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
Dokumenty dla --link
flaga
. Łączenie kontenera dodaje wpis pliku hosta dla aliasu łącza, dzięki czemu nie musisz ręcznie znajdować adresu. Konfiguracja bazy danych Twojego serwera WWW wyglądałaby mniej więcej tak
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
Mam nadzieję, że to pomoże.