Hy vọng rằng một trong những cách hiểu này là đúng.
Tôi có thể chạy nhiều daemon mysql trong các vùng chứa khác nhau mà tất cả đều dùng chung một ổ dữ liệu không?
Không, mỗi daemon cần một thư mục dữ liệu riêng biệt để tránh xung đột. Bạn có thể đặt nhiều thư mục dữ liệu trong khối lượng chia sẻ, nhưng kết quả của việc đó là nhiều cơ sở dữ liệu hoàn toàn riêng biệt. - nguồn
Tôi có thể chạy nhiều vùng chứa kết nối không vào một vùng chứa cơ sở dữ liệu mysql duy nhất?
Có, có thể cho phép nhiều vùng chứa kết nối với một vùng chứa cơ sở dữ liệu duy nhất, nhưng không thể bằng cách chia sẻ khối lượng. Vùng chứa Z sẽ chạy daemon mysql và các vùng chứa khác có thể kết nối với nó thông qua ổ cắm tcp. repo chính thức của mysql readme có các bước để bắt đầu:
Lần đầu tiên bắt đầu Vùng chứa Z.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
Sau đó, chạy các vùng chứa khác mà bạn muốn kết nối với cơ sở dữ liệu bằng một cái gì đó như sau:
docker run --name webservera --link some-mysql:mysql -d application-that-uses-mysql
Tài liệu cho --link
cờ
. Liên kết vùng chứa thêm mục nhập tệp máy chủ cho bí danh liên kết để bạn không phải tìm địa chỉ theo cách thủ công. Cấu hình cơ sở dữ liệu của máy chủ web của bạn sẽ giống như thế này
jdbc:mysql://address=(protocol=tcp)(host=mysql)(port=3306)(user=root)(password=mysecretpassword)
Tôi hy vọng điều này sẽ hữu ích.