Làm cách nào để tạo cơ sở dữ liệu MySQL trong Docker Compose?
Docker mang lại nhiều lợi ích cho việc triển khai và thử nghiệm các ứng dụng và cơ sở dữ liệu vốn là một phần không thể thiếu trong ứng dụng của bạn, vì vậy bạn nên học cách thiết lập và chạy bộ chứa Docker cho cơ sở dữ liệu Show Trong bài viết này, chúng tôi sẽ tập trung vào các chủ đề sau
Hãy đi qua từng cái một 1. Tạo Docker Soạn tệp YAML cho MySQL Docker Container Hãy tạo một thư mục, mkdir db-docker Về cơ bản, ở đây, chúng tôi sẽ chỉ định các dịch vụ chúng tôi sẽ sử dụng và thiết lập các biến môi trường liên quan đến các dịch vụ đó. Chúng tôi sẽ thay đổi tệp này nhiều lần trong suốt bài viết này Thêm phần sau vào tệp Chúng tôi đã chỉ định tên của vùng chứa MySQL của chúng tôi là docker-compose up 1 và hình ảnh Docker sẽ được sử dụng là docker-compose up 2. Trường hợp nếu không chỉ định thẻ là docker-compose up 3, nó sẽ lấy thẻ mới nhấtĐiều tiếp theo chúng ta cần chỉ định là các biến môi trường, tôi. e. người dùng, mật khẩu và cơ sở dữ liệu. Nếu bạn không chỉ định người dùng, theo mặc định, nó sẽ là docker-compose up 4Chúng tôi sẽ sử dụng docker-compose up 5 làm mật khẩu và docker-compose up 6 làm cơ sở dữ liệuMột điều quan trọng khác là ánh xạ cổng. docker-compose up 7 có nghĩa là MySQL đang chạy trong vùng chứa tại cổng docker-compose up 8 được ánh xạ tới localhost của máy chủ tại cổng docker-compose up 9. Bạn cũng có thể sử dụng một cổng khácBây giờ, sau khi tạo. yml, chúng ta cần chạy lệnh sau trong cùng thư mục chứa tệp. tập tin yml nằm docker-compose up Điều này sẽ lấy hình ảnh Docker (nếu hình ảnh không có sẵn cục bộ, nó sẽ lấy từ Docker Hub) rồi chạy vùng chứa Chúng tôi có thể kiểm tra trạng thái với docker-compose ps Điều này sẽ hiển thị tên của vùng chứa, lệnh và trạng thái của vùng chứa, chẳng hạn như hiển thị rằng vùng chứa đang chạy. Nó cũng hiển thị ánh xạ cổng Trong bước tiếp theo, chúng tôi sẽ kết nối với bộ chứa MySQL này và chạy một số lệnh 2. Kết nối với cơ sở dữ liệu MySQL đang chạy trong vùng chứa Chúng tôi sẽ thảo luận về hai phương pháp để kết nối và chạy các lệnh SQL trên MySQL đang chạy trong bộ chứa Docker Phương pháp đầu tiên là sử dụng các công cụ như MySQL Workbench (cũng có thể sử dụng DataGrip) Vì chúng tôi hiện có một bộ chứa MySQL đang chạy tại cổng máy cục bộ của chúng tôi docker-compose up 9, chúng tôi có thể kết nối bằng cách sử dụng các tham số cấu hình sauKết nối thông qua cổng của máy cục bộ docker-compose up 9 chỉ có thể thực hiện được do ánh xạ cổngNếu chúng tôi muốn kết nối với MySQL được đóng gói mà không cần ánh xạ cổng, tôi. e. từ một ứng dụng khác chạy trên cùng một mạng Docker, chúng tôi phải sử dụng các công cụ như Adminer, đây là phương pháp khác của chúng tôi Adminer là một ứng dụng web dựa trên PHP để truy cập cơ sở dữ liệu Bây giờ, chúng tôi sẽ thêm một dịch vụ khác cho Quản trị viên trong tệp docker-compose down Hãy thêm phần sau vào tệp version: '3' Bây giờ, hãy bắt đầu lại Docker container docker-compose up Sau khi chạy, hình ảnh cho Quản trị viên sẽ được kéo và vùng chứa cho cả MySQL và Quản trị viên sẽ được bắt đầu Chúng ta có thể kiểm tra điều này bằng cách sử dụng docker-compose ps 4Bây giờ, chúng ta có thể truy cập trình duyệt của mình và truy cập docker-compose ps 5 cho Quản trị viên. Vì Quản trị viên chạy trên cùng một mạng Docker với MySQL, nên nó có thể truy cập vào bộ chứa MySQL qua cổng docker-compose up 8 (hoặc đơn giản là theo tên của bộ chứa)Ghi chú. Chúng tôi không thể truy cập bộ chứa MySQL thông qua cổng docker-compose up 9 trong Quản trị viên, vì điều này sẽ cố gắng truy cập cổng docker-compose up 9 của mạng Docker Compose, không phải cổng docker-compose up 9 của máy cục bộ của chúng tôiChúng ta cũng có thể sử dụng giao diện dòng lệnh của MySQL bằng lệnh sau docker-compose exec mysql-development mysql -uroot -phelloworld testapp 3. Tạo và chạy nhiều phiên bản MySQL trong Docker Container Nếu chúng tôi có một ứng dụng sử dụng một số phiên bản MySQL khác, chúng tôi cũng có thể tạo một dịch vụ cho ứng dụng đó và chạy nó trong cùng một mạng Docker Ví dụ: nếu chúng ta cần MySQL phiên bản 5. 7. 27, chúng tôi cần thực hiện các thay đổi sau đối với tệp version: '3' Nếu bạn muốn biết thêm về cách sử dụng khối lượng dữ liệu và cấu hình cũng như cách kiểm tra nhật ký của bộ chứa mysql, hãy xem bài viết của tôi về nó. https. //trung bình. com/@ashutosh_34428/volumes-and-logs-in-mysql-docker-61122f8c1d84 Làm cách nào để tạo cơ sở dữ liệu trong MySQL bằng Docker Compose?Khởi động MySQL . Tạo mạng bằng cách sử dụng lệnh này. Bản sao Bash. . Bắt đầu một bộ chứa MySQL và gắn nó vào mạng. . Nhận ID vùng chứa của bạn bằng cách sử dụng lệnh docker ps Để xác nhận rằng bạn đã thiết lập và chạy cơ sở dữ liệu, hãy kết nối với cơ sở dữ liệu. . Trong trình bao MySQL, liệt kê các cơ sở dữ liệu và xác minh rằng bạn thấy cơ sở dữ liệu todos Làm cách nào để tạo db trong Docker?Ở cấp độ cao, đây là các bước chúng tôi sẽ thực hiện trong hướng dẫn này. . Tải xuống ứng dụng Docker Thiết lập tài khoản trên Docker Hub Chạy Docker và tải xuống hình ảnh cơ sở dữ liệu Chạy hình ảnh Kết nối với cơ sở dữ liệu và chạy một số SQL Bạn có thể đặt cơ sở dữ liệu trong bộ chứa Docker không?Nếu bạn đang làm việc trên một dự án nhỏ và đang triển khai trên một máy duy nhất, bạn hoàn toàn có thể chạy cơ sở dữ liệu của mình trong bộ chứa Docker. Be sure to mount a volume to make the data persistent, and have backup processes in place. Try to restore them every once in a while to make sure your backups are any good.
Tôi có thể sử dụng MySQL với Docker không?MySQL là một trong những cơ sở dữ liệu quan hệ tương thích với SQL phổ biến nhất. Chạy MySQL bên trong bộ chứa Docker cho phép bạn tách cơ sở dữ liệu khỏi mã của mình . Bạn cũng có thể sử dụng bộ điều phối vùng chứa như Kubernetes để mở rộng quy mô MySQL độc lập với phiên bản máy chủ API của bạn. |