Надяваме се, че едно от тези тълкувания е правилно.
Мога ли да стартирам множество mysql демони в различни контейнери, които споделят един обем данни?
Не, всеки демон се нуждае от отделна директория с данни, за да се избегнат конфликти. Можете да поставите множество директории с данни в споделения том, но резултатът от това е множество напълно отделни бази данни. - източник
Мога ли да стартирам няколко контейнера, които свързват към един контейнер на база данни mysql?
Да, възможно е да се позволи множество контейнери да се свързват към един контейнер на база данни, но не и чрез споделяне на томове. Контейнер Z ще стартира демона на mysql и други контейнери могат да се свързват с него чрез tcp сокети. официалното mysql репо readme има стъпки, за да започнете:
Първо стартирайте контейнер Z.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
След това стартирайте други контейнери, които искате да свържете към базата данни с нещо подобно:
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
Документи за --link
флаг
. Свързването на контейнера добавя запис в hostfile за псевдонима на връзката, така че не е нужно да намирате адреса ръчно. Конфигурацията на базата данни на вашия уеб сървър би изглеждала така
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
Надявам се това да помогне.