MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở nổi tiếng và là một trong những giải pháp máy chủ web phổ biến nhất. Nó lưu trữ và cấu trúc dữ liệu theo cách có ý nghĩa, đảm bảo khả năng truy cập dễ dàng
Docker là một bộ sản phẩm nền tảng dưới dạng dịch vụ hỗ trợ phát triển CI/CD. Nó cho phép người dùng phát triển và triển khai các ứng dụng bên trong môi trường ảo, được gọi là vùng chứa. Với một hình ảnh duy nhất, Docker có thể khởi động một ứng dụng với tất cả các thư viện và phần phụ thuộc của nó
Trong hướng dẫn này, hãy tìm hiểu cách triển khai bộ chứa MySQL Docker và bắt đầu làm việc với cơ sở dữ liệu được chứa trong bộ chứa
điều kiện tiên quyết
- Truy cập vào cửa sổ dòng lệnh/thiết bị đầu cuối
- Tài khoản người dùng có đặc quyền sudo hoặc quyền truy cập vào tài khoản gốc
- Bản cài đặt Docker hiện có
Chạy Bộ chứa Docker MySQL
Nếu bạn cần thiết lập cơ sở dữ liệu nhanh chóng và không sử dụng quá nhiều tài nguyên, triển khai MySQL trong vùng chứa là một giải pháp nhanh chóng và hiệu quả. Điều này chỉ thích hợp cho các ứng dụng vừa và nhỏ. Các ứng dụng cấp doanh nghiệp sẽ không tìm thấy bộ chứa MySQL Docker đủ cho khối lượng công việc của chúng
Việc sử dụng phần mềm Docker để thiết lập cơ sở dữ liệu của bạn ngày càng trở nên phổ biến đối với các ứng dụng quy mô nhỏ. Thay vì có một máy chủ riêng để lưu trữ cơ sở dữ liệu, bạn có thể triển khai bộ chứa cơ sở dữ liệu MySQL
Nhiều vùng chứa có thể chạy trên máy tính của bạn. Các bộ chứa chia sẻ cùng một kernel và các thư viện của máy chủ trong khi đóng gói ứng dụng hoặc phần mềm đã triển khai thành các đơn vị duy nhất. Điều này làm cho cơ sở dữ liệu cực kỳ nhẹ và quay nhanh
Cài đặt Bộ chứa Docker MySQL
Thiết lập cơ sở dữ liệu trong Docker chỉ đơn giản là xây dựng vùng chứa dựa trên hình ảnh MySQL. Thực hiện theo các bước được nêu bên dưới để thiết lập và chạy bộ chứa MySQL của bạn
Bước 1. Kéo hình ảnh Docker của MySQL
1. Bắt đầu bằng cách lấy hình ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn bản phát hành mới nhất như đã thấy trong lệnh sau
sudo docker pull mysql/mysql-server:latest
Nếu bạn muốn một phiên bản cụ thể của MySQL, hãy thay thế
sudo docker run --name=[container_name] -d [image_tag_name]
4 bằng số phiên bản2. Xác minh hình ảnh hiện được lưu trữ cục bộ bằng cách liệt kê các hình ảnh Docker đã tải xuống
sudo docker images
Đầu ra phải bao gồm
sudo docker run --name=[container_name] -d [image_tag_name]
5 trong số các hình ảnh được liệt kêBước 2. Triển khai Bộ chứa MySQL
1. Khi bạn có hình ảnh, hãy chuyển sang triển khai vùng chứa MySQL mới với
sudo docker run --name=[container_name] -d [image_tag_name]
- Thay thế
6 bằng tên bạn chọn. Nếu bạn không cung cấp tên, Docker sẽ tạo một tên ngẫu nhiênsudo docker run --name=[container_name] -d [image_tag_name]
- Tùy chọn
7 hướng dẫn Docker chạy vùng chứa dưới dạng dịch vụ ở chế độ nềnsudo docker run --name=[container_name] -d [image_tag_name]
- Thay thế
8 bằng tên của hình ảnh đã tải xuống ở Bước 1sudo docker run --name=[container_name] -d [image_tag_name]
Trong ví dụ này, chúng tôi tạo vùng chứa có tên
sudo docker run --name=[container_name] -d [image_tag_name]
9 với thẻ phiên bản sudo docker run --name=[container_name] -d [image_tag_name]
4sudo docker run --name=[container_name] -d mysql/mysql-server:latest
2. Sau đó, kiểm tra xem bộ chứa MySQL có đang chạy không
docker ps
Bạn sẽ thấy vùng chứa mới được tạo được liệt kê trong đầu ra. Nó bao gồm các chi tiết vùng chứa, một là trạng thái của môi trường ảo này. Trạng thái thay đổi từ
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
1 thành sudo docker run --name=[container_name] -d mysql/mysql-server:latest
2, sau khi quá trình thiết lập hoàn tấtBước 3. Kết nối với MySQL Docker Container
1. Trước khi bạn có thể kết nối bộ chứa máy chủ MySQL với máy chủ lưu trữ, bạn cần đảm bảo rằng gói máy khách MySQL đã được cài đặt
apt-get install mysql-client
2. Sau đó, mở tệp nhật ký cho bộ chứa MySQL để tìm mật khẩu gốc đã tạo
sudo docker logs [container_name]
Đối với vùng chứa
sudo docker run --name=[container_name] -d [image_tag_name]
9, chúng tôi chạysudo docker logs mysql_docker
3. Cuộn qua đầu ra và tìm dòng
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
4. , sao chép và dán mật khẩu vào sổ tay hoặc trình soạn thảo văn bản để bạn có thể sử dụng sau này4. Tiếp theo, vào bash shell của MySQL container bằng cách gõ
sudo docker exec -it [container_name] bash
Đối với vùng chứa được tạo làm ví dụ, chúng tôi chạy
sudo docker -it mysql_docker bash
3. Cung cấp mật khẩu gốc mà bạn đã sao chép từ tệp nhật ký khi được nhắc. Như vậy, bạn đã kết nối máy khách MySQL với máy chủ
4. Cuối cùng, thay đổi mật khẩu gốc của máy chủ để bảo vệ thông tin của bạn
sudo docker images
0Thay thế
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
5 bằng mật khẩu mạnh do bạn chọnĐịnh cấu hình Bộ chứa MySQL
Khi bạn cài đặt bộ chứa MySQL, bạn sẽ tìm thấy các tùy chọn cấu hình của nó trong thư mục
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
6Nếu bạn cần sửa đổi cấu hình, hãy tạo một tệp cấu hình thay thế trên máy chủ và gắn chúng vào bên trong vùng chứa
1. Đầu tiên, tạo một thư mục mới trên máy chủ
sudo docker images
12. Tạo một tệp cấu hình MySQL tùy chỉnh bên trong thư mục đó
sudo docker images
23. Khi ở trong tệp, bạn có thể thêm các dòng có cấu hình mong muốn
Ví dụ: nếu bạn muốn tăng số lượng kết nối tối đa lên 250 [thay vì 151 mặc định], hãy thêm các dòng sau vào tệp cấu hình
sudo docker images
34. Lưu và thoát tệp
5. Để các thay đổi diễn ra, bạn cần xóa và chạy lại bộ chứa MySQL. Lần này, vùng chứa sử dụng kết hợp cài đặt cấu hình từ tệp mới tạo và tệp cấu hình mặc định
Để thực hiện việc này, hãy chạy vùng chứa và ánh xạ đường dẫn âm lượng bằng lệnh
sudo docker images
46. Để kiểm tra xem vùng chứa có tải cấu hình từ máy chủ hay không, hãy chạy lệnh sau
sudo docker images
5Bạn sẽ thấy rằng số lượng kết nối tối đa hiện tại là
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
7Quản lý lưu trữ dữ liệu
Theo mặc định, Docker lưu trữ dữ liệu trong ổ đĩa nội bộ của nó
Để kiểm tra vị trí của các ổ đĩa, sử dụng lệnh
sudo docker images
6Bạn sẽ thấy
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
8 được gắn trong ổ đĩa bên trongBạn cũng có thể thay đổi vị trí của thư mục dữ liệu và tạo một thư mục trên máy chủ. Có một ổ đĩa bên ngoài vùng chứa cho phép các ứng dụng và công cụ khác truy cập vào các ổ đĩa khi cần
1. Đầu tiên, tìm một ổ thích hợp trên máy chủ và tạo một thư mục dữ liệu trên đó
sudo docker images
72. Bây giờ bắt đầu lại vùng chứa, gắn thư mục đã tạo trước đó
sudo docker images
8Nếu bạn kiểm tra vùng chứa, bạn sẽ thấy rằng vùng chứa MySQL hiện lưu trữ dữ liệu của nó trên hệ thống máy chủ. Chạy lệnh
sudo docker images
6Bắt đầu, dừng và khởi động lại MySQL Container
Container tự động dừng khi tiến trình đang chạy trong nó dừng
Để bắt đầu chạy bộ chứa MySQL
sudo docker run --name=[container_name] -d [image_tag_name]
0Dừng bộ chứa MySQL, sử dụng lệnh
sudo docker run --name=[container_name] -d [image_tag_name]
1Để khởi động lại bộ chứa MySQL, hãy chạy
sudo docker run --name=[container_name] -d [image_tag_name]
2Xóa vùng chứa MySQL
Trước khi xóa vùng chứa MySQL, hãy đảm bảo bạn dừng nó trước
Sau đó, loại bỏ bộ chứa docker bằng
sudo docker run --name=[container_name] -d [image_tag_name]
3Phần kết luận
Sau khi đọc bài viết này, bạn đã triển khai thành công một bộ chứa MySQL
Kết hợp Docker và MySQL có thể là một giải pháp tuyệt vời cho ứng dụng quy mô nhỏ. Bây giờ bạn có thể bắt đầu khám phá tất cả các khả năng của bộ chứa MySQL