Làm cách nào để sử dụng cơ sở dữ liệu MySQL trong bộ chứa Docker?
Container là chủ đề thảo luận nóng nhất trong ngành CNTT vì nhiều ưu điểm của chúng. Các tổ chức đang áp dụng các giải pháp dựa trên container cho doanh nghiệp của họ với tốc độ đáng kể. Theo 451 Research, thị trường container ứng dụng sẽ tăng gấp 4 lần trong những năm tới Show
Ngày nay, chúng ta thậm chí còn có các cơ sở dữ liệu như MySQL, MongoDB, PostgreSQL và nhiều cơ sở dữ liệu khác ở dạng được chứa. Tuy nhiên, bài viết này sẽ khám phá các tùy chọn để thiết lập và chạy bộ chứa MySQL. Để bắt đầu, chúng tôi sẽ sao lưu cơ sở dữ liệu MySQL hiện có của chúng tôi. Tiếp theo, chúng ta sẽ xây dựng cấu hình vùng chứa ở dạng YAML và chạy cấu hình đó bằng cách sử dụng docker-compose, một bộ công cụ mã nguồn mở để kết hợp một chồng các vùng chứa ứng dụng lại với nhau Không có gì khó chịu nữa, chúng ta hãy đi vào chi tiết thực chất của nó 2. Xây dựng cấu hình vùng chứa MySQLTrong phần này, chúng ta sẽ xây dựng bộ chứa MySQL bằng công cụ docker-compose. Tuy nhiên, YAML cũng sử dụng hình ảnh từ Dockerfile làm cấu hình cơ sở trong đường dẫn hiện tại 2. 1. Docker SoạnTrước tiên, hãy tạo tệp YAML với các thẻ phiên bản và dịch vụ. Chúng tôi xác định phiên bản định dạng tệp trong thẻ phiên bản của tệp YAML. Các dịch vụ MySQL sử dụng thông tin hình ảnh từ Dockerfile mà chúng tôi xác định trong ngữ cảnh Hơn nữa, chúng tôi cũng hướng dẫn công cụ sử dụng các đối số mặc định được xác định là biến môi trường trong. tập tin env. Cuối cùng, thẻ cổng sẽ liên kết bộ chứa và máy chủ cổng 3306. Hãy xem nội dung của tệp YAML soạn thảo docker mà chúng tôi đang sử dụng để hiển thị các dịch vụ MySQL
2. 2. Tạo DockerfileTrong nội bộ, docker-compose sử dụng Dockerfile trong đường dẫn đã chỉ định để xây dựng hình ảnh và đặt môi trường cho MySQL. Dockerfile của chúng tôi tải xuống hình ảnh từ DockerHub và quay vùng chứa với các biến đã xác định
Bây giờ, hãy xem qua tất cả các hướng dẫn được đưa ra trong đoạn mã Dockerfile bên dưới
2. 3. Đặt môi trườngNgoài ra, chúng ta có thể tạo một tệp biến môi trường dưới dạng. env trong đường dẫn hiện tại. Tệp này chứa tất cả các biến liên quan đến tệp soạn thảo
2. 4. Tệp sao lưu MySQLĐể minh họa, hãy sao lưu từ bảng cơ sở dữ liệu hiện có. Ở đây, chúng tôi tự động nhập cùng một bảng Khách hàng vào vùng chứa MySQL của mình thông qua dữ liệu. tập tin sql Dưới đây, chúng tôi đã hiển thị dữ liệu bảng bằng cách sử dụng truy vấn CHỌN, tìm nạp dữ liệu từ bảng được yêu cầu
Là một phần của gói MySQL RDBMS, tiện ích mysqldump được sử dụng để sao lưu tất cả dữ liệu trong cơ sở dữ liệu vào tệp văn bản. Sử dụng một lệnh đơn giản với các đối số nội tuyến, chúng ta có thể nhanh chóng sao lưu các bảng MySQL
Ở cấp độ cao, tệp sao lưu sẽ loại bỏ bất kỳ bảng nào có tên Khách hàng trong cơ sở dữ liệu đã chọn và chèn tất cả dữ liệu đã sao lưu vào đó
Tuy nhiên, việc tạo hoặc xóa cơ sở dữ liệu không được quản lý trong tệp kết xuất đã tạo. Chúng tôi sẽ thêm đoạn mã dưới đây vào dữ liệu. tệp sql, tạo cơ sở dữ liệu nếu chúng không tồn tại. Nó làm cho vòng kết nối hoàn chỉnh bằng cách quản lý cả cơ sở dữ liệu và bảng. Cuối cùng, nó cũng sử dụng cơ sở dữ liệu đã tạo bằng lệnh USE
Hiện tại, cấu trúc thư mục trông như thế này
3. Quay lên Bộ chứa máy chủ MySQLBây giờ, tất cả chúng ta đã sẵn sàng để tạo một thùng chứa thông qua docker-compose. Để hiển thị bộ chứa MySQL, chúng ta cần thực thi docker-compose up Khi lướt qua các dòng đầu ra, chúng ta có thể thấy rằng chúng tạo thành các lớp mới trong mỗi bước ở trên cùng của hình ảnh MySQL Sau đó, nó cũng tạo cơ sở dữ liệu và tải dữ liệu được chỉ định trong dữ liệu. tập tin sql ________số 8_______Chúng ta có thể sử dụng tùy chọn -d để chạy các container ở chế độ tách rời
4. Sự sẵn sàng của ứng dụng khách MySQLBắt buộc phải cài đặt ứng dụng khách để dễ dàng truy cập vào máy chủ MySQL. Tùy thuộc vào nhu cầu của chúng tôi, chúng tôi có thể cài đặt ứng dụng khách trên máy chủ hoặc bất kỳ máy hoặc bộ chứa nào khác có khả năng truy cập IP với bộ chứa máy chủ 0Bây giờ, hãy giải nén đường dẫn cài đặt và phiên bản của máy khách MySQL 15. Giao tiếp máy chủ máy kháchChúng tôi có thể truy cập máy chủ MySQL đã triển khai bằng ứng dụng khách. Trong phần này, chúng ta sẽ xem cách truy cập máy chủ MySQL thông qua máy khách Hãy xem id và trạng thái vùng chứa đã tạo bằng lệnh docker ps 2Tiếp theo, hãy lấy địa chỉ IP vùng chứa để truy cập cơ sở dữ liệu bằng dịch vụ máy khách đã cài đặt. Nếu chúng tôi đưa ra lệnh kiểm tra docker, chúng tôi sẽ thấy thông tin chi tiết về vùng chứa ở định dạng JSON. Chúng tôi cũng có thể chọn bất kỳ trường nào từ JSON kết quả. Ở đây, chúng tôi đang lấy địa chỉ IP từ phạm vi. Thiết lạp mạng lưới. Mạng -> Địa chỉ IP 3Sau đó, chúng tôi có thể sử dụng ứng dụng khách để đăng nhập vào Máy chủ MySQL bằng thông tin cổng và máy chủ được định cấu hình 4Tại đây, chúng ta có thể thấy rằng dữ liệu được khôi phục tự động từ dữ liệu. tập tin sql
Bây giờ, hãy thử thêm một vài hàng vào các bảng cơ sở dữ liệu hiện có. Chúng tôi sẽ sử dụng truy vấn INSERT để thêm dữ liệu vào bảng 6Chúng tôi cũng đã chèn thành công một hàng mới vào bảng đã khôi phục. chúc mừng. Hãy xem kết quả 7Ngoài ra, bộ chứa máy chủ MySQL đi kèm với cài đặt máy khách MySQL. Tuy nhiên, nó chỉ có thể được sử dụng trong vùng chứa cho bất kỳ mục đích thử nghiệm nào. Bây giờ, hãy đăng nhập vào bộ chứa Docker và thử truy cập máy chủ MySQL bằng ứng dụng khách MySQL mặc định Lệnh docker exec giúp login vào container đang chạy bằng container id. Tùy chọn -i giữ STDIN mở và -t sẽ phân bổ TTY giả và cuối cùng, /bin/bash ở cuối đưa chúng ta vào dấu nhắc BASH 86. Phần kết luậnTóm lại, chúng ta đã thảo luận về các bước để hiển thị bộ chứa máy chủ MySQL bằng cách sử dụng docker-compose. Nó cũng tự động khôi phục cơ sở dữ liệu và bảng từ các tệp sao lưu. Hơn nữa, chúng tôi cũng đã truy cập dữ liệu được khôi phục và thực hiện một số thao tác CRUD Làm cách nào để truy cập cơ sở dữ liệu MySQL trong bộ chứa Docker?Chạy bộ chứa docker với tùy chọn gắn ổ đĩa docker run -it -v /host. / đã chia sẻ . Bạn có thể chuyển cờ -d để chạy vùng chứa mysql/mariadb ở chế độ tách rời/nền Mật khẩu là "wp" được xác định trong docker-compose. tập tin yml Lời khuyên tương tự như maniekq nhưng ví dụ đầy đủ với docker-compose 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.
Làm cách nào để tạo cơ sở dữ liệu trong bộ chứa MySQL Docker?Cần cài đặt Docker phiên bản mới nhất trong máy của bạn. . bước đầu tiên. Tải xuống hình ảnh MySQL bước thứ 2. thực hiện vùng chứa bước thứ 3. Lấy IP của container bước thứ 4. Truy cập cơ sở dữ liệu từ vùng chứa Phần kết luận Làm cách nào để sử dụng cơ sở dữ liệu trong Docker?Các bước cấp cao . 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 |