‫Được rồi. Bây giờ bạn đã tìm hiểu tất cả về khối lượng và liên kết gắn kết, và tại
‫sao chúng ta cần phải lo lắng về dữ liệu liên tục, hãy làm điều gì đó giống như một kịch bản trong thế giới thực, đó là nâng cấp cơ sở dữ liệu.
‫Hãy tưởng tượng một tình huống mà bạn đang chạy một phiên bản cơ sở dữ liệu cụ thể.
‫Giả sử postgres và bạn cần cập nhật phiên bản vá vì có thể có bản sửa lỗi bảo mật hoặc bản
‫sửa lỗi hoặc một cái gì đó.
‫Thông thường trên một hệ thống, bạn sẽ chỉ cập nhật phần mềm. Bạn sẽ thực hiện cập nhật hoặc nâng cấp hệ thống quản lý
‫gói và nó sẽ tự xử lý tất cả các cập nhật cho thư viện và mọi thứ.
‫Nhưng làm thế nào để chúng ta làm điều đó trong một container?
‫Bởi vì, nếu chúng ta đang cố gắng tuân theo phương pháp hay nhất là không cập nhật ứng dụng trong vùng chứa mà thay vào đó là thay thế vùng
‫chứa bằng một phiên bản mới, thì làm cách nào để chúng ta thực hiện điều đó với cơ sở dữ liệu?
‫Những gì bạn sẽ làm cho nhiệm vụ này là bạn sẽ sử dụng Docker Hub để cung cấp cho bạn một số thông tin về
‫việc cập nhật phiên bản cụ thể của postgres. Chúng tôi sẽ bắt đầu với việc bạn tạo vùng chứa
‫cụ thể bằng cách sử dụng phiên bản 9. 6. 1, là phiên bản cũ hơn. Và bạn sẽ cần tạo một tập có tên.
‫Bạn sẽ phải dựa vào tài liệu của Docker Hub cho việc này, sử dụng kho lưu trữ postgres chính thức.
‫Bạn sẽ cần phải truy cập Dockerfile cho phiên bản cụ thể đó và tìm
‫hiểu đường dẫn khối lượng cần có. Sau đó, bạn có thể đặt tên cho âm lượng của mình bất kỳ thứ gì bạn muốn ở phía bên trái.
‫Nhưng hãy nhớ rằng dấu hai chấm ở bên phải của nó, đó phải là đường dẫn mà các cơ sở dữ liệu
‫thực tế sẽ nằm trong vùng chứa.
‫Khi bạn đã tìm ra tất cả và bắt đầu vùng chứa của mình, bạn nên bắt đầu kiểm tra nhật ký để xem khi nào thì
‫hoàn thành việc tạo cơ sở dữ liệu và tất cả các công cụ khởi động. Bởi vì lần đầu tiên bạn khởi động
‫vùng chứa cơ sở dữ liệu, thường thì nó thực hiện một loạt công việc trong
‫nền, như tạo người dùng quản trị và cơ sở dữ liệu mặc định, v.v.
‫Sẽ có một thời điểm mà các bản ghi sẽ dừng lại và sau đó nó sẽ tiếp tục chạy.
‫Nếu bạn đã thực hiện đúng, bạn sẽ có thể thực hiện ls âm lượng của docker và xem âm lượng được liệt kê ở đó, với tên mà bạn đã
‫đặt và bạn sẽ có thể dừng vùng chứa đó. Sau đó, bạn sẽ tạo một
‫vùng chứa mới với một phiên bản mới.
‫Đây sẽ là một lệnh rất giống với lệnh đầu tiên, chỉ bạn chỉ định một phiên bản khác, bạn cũng
‫sẽ đảm bảo rằng bạn muốn chỉ định số lượng tên đã định vì nó cần phải sử dụng dữ liệu mà bạn đã
‫sử dụng trong lệnh đầu tiên.
‫Tất nhiên, hãy đảm bảo rằng bạn đã dừng cái đầu tiên vì cả hai cái này không thể truy cập
‫cùng một dữ liệu cùng một lúc.
‫Khi bạn đã bắt đầu, hãy tiếp tục và kiểm tra lại nhật ký cho vùng chứa mới đó.
‫Những gì bạn sẽ thấy là nó chỉ có một vài dòng nhật ký khởi động vì nó không phải thực hiện tất cả
‫các công việc của khởi động ban đầu.
‫Đó là cách bạn biết nó đang sử dụng cùng một tập
‫được đặt tên là lần thứ hai khởi động, nó có thể chỉ có bốn hoặc năm mục nhật ký.
‫Vì vậy, đây là một kịch bản trong thế giới thực.
‫Bạn sẽ làm điều này nếu bạn đã từng chạy cơ sở dữ liệu sản xuất hoặc bất kỳ thứ gì bạn cần cập nhật.
‫Lưu ý rằng hầu hết các hệ thống cơ sở dữ liệu không tự động nâng cấp lớn.
‫Nó thường yêu cầu một công cụ. Với postgres hoặc MySQL, có một công cụ riêng cho từng công
‫cụ mà bạn phải chạy.
‫Đây thực sự chỉ là nâng cấp các phiên bản vá lỗi hoặc số cuối cùng không yêu cầu thay đổi
‫lược đồ hoặc bất kỳ cập nhật lớn nào đối với chính mã dữ liệu.
‫Giống như trước đây,
‫nếu bạn gặp khó khăn, đừng lo lắng vì đây là một điều mới và nó có thể không rõ ràng trong Docker Hub.
‫Nếu bạn gặp khó khăn tại một số điểm và Docker Hub không giúp
‫bạn giải quyết, chỉ cần xem bài giảng tiếp theo, tôi sẽ thực hiện bài tập này giống như tôi sẽ làm.
‫Chúc may mắn.