‫Vì vậy, trước tiên, chúng tôi đã nhờ Charles, người đã đăng vùng tệp Docker của anh
‫ấy đi
‫và hãy để tôi kéo màn hình màu xanh lá cây lên để chúng ta có thể
‫xem xét tệp Docker này nhé.
‫Và tất nhiên thực tế ở đây là một khi bạn truy cập vào các tệp trong thế giới thực, mọi thứ sẽ trở nên lộn xộn hơn.
‫Đúng.
‫Tất cả chúng ta đều học trong các khóa học như những khóa học mà tôi có và chúng ta học từ các bài báo và tài liệu trên blog và sau đó khi
‫chúng ta bước ra thế giới thực, nó dường như luôn khó hơn thế.
‫Vì vậy, tôi luôn cố gắng thêm nhiều sự phức tạp đó vào các khóa học nhưng còn rất nhiều việc để đạt được điều đó trong các
‫khóa học bởi vì bạn phải tuân theo ngữ cảnh của nó.
‫Nó liên quan rất nhiều đến môi trường và cách thiết lập cũng như ứng dụng cụ thể của bạn.
‫Vì vậy, tối qua tôi đã nghĩ Này tại sao chúng ta không nói về điều này trong chương trình ngày mai.
‫Vì vậy, nếu bạn thực sự thích điều này, hãy ủng hộ điều này.
‫Hãy nói với tôi trong cuộc trò chuyện hoặc trong các nhận xét
‫rằng bạn muốn có thêm những điều này và chúng tôi sẽ làm điều này thường xuyên.
‫Được rồi.
‫Vì vậy, đầu tiên là Charles và có vẻ như anh ta đến từ tài khoản của chính mình, anh ta có một hình ảnh P HP Apache.
‫Dựa trên cái tên đó, tôi sẽ giả định rằng đó là cái tên.
‫Và nó có một ngày tháng và nó biết rằng nó có một phiên bản và một ngày trong tên ở đó.
‫Vì vậy, điều đó khá phổ biến khi bạn bắt đầu làm quen với tùy chỉnh của riêng mình từ hình ảnh, bạn sẽ bắt đầu làm những
‫việc như phiên bản chúng hoặc hẹn hò với chúng hoặc sử dụng ý tưởng cam kết trong chúng.
‫Và đó là một cách để đảm bảo rằng bạn đang sử dụng đúng hình ảnh giống hệt nhau.
‫Xin nhắc lại ở đây, bạn không chỉ sử dụng phiên bản mới nhất trong bất kỳ thiết lập sản xuất thực nào mà bạn luôn có thể sử dụng phiên bản mới
‫nhất để chơi và thử nghiệm.
‫Nhưng khi bạn chuyển sang nội dung thực, bạn sẽ luôn muốn sử dụng các phiên bản thực đó.
‫Đó là hình ảnh Azure HP Charles nói.
‫Được rồi.
‫Và sau đó anh ấy có ở đây một thiết lập thú vị mà tôi chưa từng thấy trước đây và tôi nghĩ rằng tôi biết tại
‫sao bạn lại làm điều đó.
‫Vì vậy, trong dòng chạy này ở đây bạn đang thực hiện một ứng dụng để nhận bản cập nhật và sau đó bạn đang nói nếu điều đó không phải là
‫bạn đang đưa ra một HOẶC trong bash, có nghĩa là nếu điều này không thành công, hãy làm điều này.
‫Và vì vậy bạn đang lặp lại nó.
‫Vì vậy, tôi đoán đó có thể là bạn đang ở trên một mạng hoặc một nơi nào đó mà bạn có khả năng gặp sự cố, đó là một vấn đề
‫phổ biến khi phải gặp sự cố cập nhật hoặc có thể bạn đã gặp một số điều kỳ quặc trong đó nó ngẫu nhiên không thành
‫công và nếu bạn chỉ cần làm điều đó lần thứ hai nó sẽ hoạt động.
‫Đó là những gì tôi đoán bạn đang làm ở đó.
‫Và đó là một giải pháp hiệu quả cho vấn đề đó nếu đó là những gì nó dành cho nó.
‫Nếu không, tôi thường không thấy loại thiết lập này, điều này bình thường không phải là những gì tôi sẽ thấy ở đó.
‫Được rồi.
‫Tiếp theo, bạn xuất và đó chỉ là một thay đổi siêu dữ liệu nhỏ.
‫Vì vậy, sẽ không mất nhiều thời gian Ồ, hãy nhìn vào điều mà Charles nói
‫đúng vậy, anh ấy nói rằng đó là một hình ảnh HP hạnh phúc.
‫Và anh ấy đã nói chuyện để tăng cường hỗ trợ Azure và nó đã sửa một lỗi.
‫Rất tuyệt, tôi
‫sẽ
‫thay đổi điều đó, hãy xem chúng ta
‫hãy thực hiện việc thay đổi phông chữ ở đây để nó trông dễ dàng hơn một chút.
‫Một cái nhìn tốt hơn.
‫Ừ.
‫Được rồi.
‫Vì vậy, đây là một điều thú vị.
‫Vì vậy, bạn đang tải xuống nên bạn đang thực hiện một số tải xuống và bạn đang cài đặt một gói là bình thường.
‫Và bạn cũng đang thực hiện nhiều lượt cài đặt APP tại đây.
‫Vì vậy, trừ khi đây là thứ bạn đang thử nghiệm và bạn chỉ đang cố gắng tìm ra cách hoạt động của dòng
‫công việc này, còn rất nhiều cơ hội để tối ưu hóa, đặc biệt là khi nói đến kích thước.
‫Và bạn cũng có một tình huống ở đây, chúng ta có thể tự gặp rắc rối nhỏ.
‫Vì vậy, hãy lưu ý ở đây rằng chúng tôi có một dòng chạy riêng đang thực hiện ứng dụng để nhận bản cập nhật.
‫Vì vậy, bạn không có dòng đó ở đây mà bạn đang thực hiện tất cả quá trình cài đặt.
‫Vì vậy, bạn đã phá vỡ tất cả các bước này.
‫Bây giờ nếu bạn bắt đầu đi và nhìn vào nó những hình ảnh chính thức, bạn sẽ nhận thấy rằng họ không bao giờ làm điều này.
‫Họ luôn đặt tất cả vào một đường chạy khổng lồ và có một vài lý do giải thích cho điều đó.
‫Lý do lớn nhất ở đây là sự tiêu tiền.
‫Vì vậy, khi bạn nghĩ về việc khi bạn xây dựng một hình ảnh, sẽ có một khoản tiền đằng sau nó.
‫Bây giờ nếu bạn đang sử dụng một thứ gì đó như Jenkins hoặc một trình chạy CCD và bạn đã tắt
‫bộ nhớ đệm, nơi nó sẽ luôn xây dựng từ đầu mà không cần bộ nhớ đệm thì đây có thể không phải là vấn đề đó nhưng nó chắc chắn sẽ
‫là một vấn đề nếu bạn xây dựng cục bộ hoặc bạn xây dựng trên bất
‫kỳ hệ thống nào nhiều lần.
‫Và đây là những gì sẽ xảy ra trên đường chạy.
‫Hãy nói rằng nó ở đó.
‫ĐƯỢC RỒI.
‫Và nó không bao giờ thay đổi.
‫Đúng.
‫Vì vậy, lần đầu tiên bạn xây dựng hình ảnh này, mọi thứ đều ổn.
‫Giả sử bạn xây dựng ba ngày sau đó.
‫Nó sẽ không lưu vào bộ nhớ cache dòng này bởi vì dòng này không thay đổi bộ nhớ và
‫trên bộ đệm lệnh xây dựng docker tiêu chuẩn busting là khi bạn đã thay đổi một dòng.
‫Và khi bạn thay đổi dòng đó, mọi thứ trong dòng đó sẽ được chạy lại và mọi dòng sau nó.
‫Và những gì xảy ra ở đây là nếu bạn có dòng chạy này ở đây và nó không bao giờ thay đổi nhưng sau đó bạn
‫thêm, hãy nói một gói khác ở đây trong dòng chạy hoặc có thể bạn thay đổi phiên bản và bạn mã hóa phiên bản của
‫mình mà bạn cũng nên làm bạn nên mã hóa cứng các phiên bản của tất cả các công cụ này và
‫có thể không nén và giải nén và cuộn lại.
‫Nhưng nếu đội ngũ bảo mật của bạn nghiêm ngặt, họ sẽ mong đợi bạn có các phiên bản đáng tin cậy và đó là một điều khác
‫mà bạn muốn làm ở đây.
‫Nhưng hãy quay lại điểm này.
‫Vì vậy, nếu bạn định thực hiện những cài đặt này và bạn thay đổi một công cụ và thêm nó vào đây.
‫Hãy suy nghĩ về điều đó và nhận bản cập nhật mà phải tải xuống bản cập nhật bộ nhớ cache của tất cả siêu dữ liệu
‫về tất cả các gói này và sau đó bạn sẽ cài đặt các gói này sau và nếu dòng thứ
‫hai ở đây bị lỗi bằng cách thay đổi, nó sẽ chạy lại.
‫Nhưng nó sẽ chạy dựa trên bộ nhớ cache cũ đó của ứng dụng của bạn để nhận bản cập nhật.
‫Vì vậy, theo thời gian, bạn sẽ bắt đầu gặp sự cố vì các gói của bạn sẽ luôn cài đặt các phiên bản
‫cũ đó, cách tốt hơn nhiều để làm điều này là sử dụng tất cả ứng dụng của bạn để có được nội dung phù hợp.
‫Và điều đó không nhất thiết phải liên quan đến việc tải xuống gói này ở đây.
‫Đây là một gói tùy chỉnh.
‫Chúng ta sẽ nói về điều đó một phút.
‫Nhưng khi nói đến những dòng này ngay tại đây, dòng này sẽ không ảnh hưởng
‫đến kích thước vì dòng này phải chạy cùng dòng với dòng này hoặc nó sẽ không hoạt động.
‫Bây giờ tất cả điều này có lẽ không đúng.
‫Nếu bạn có một OK khác, do đó bạn không làm nhiều giai đoạn.
‫Một cách để giải quyết vấn đề kích thước là bạn thực hiện đa trạng thái nhưng bạn không làm như trạng thái và điều
‫đó không sao.
‫Bạn không cần phải
‫thực hiện nhiều giai đoạn, vì
‫vậy chúng ta hãy xem điều gì sẽ xảy ra ở đây là bạn khuyên bạn
‫nên thực hiện những điều này ngay tại đây.
‫Tôi sẽ lấy dòng xuất này và đặt nó ở trên vì vậy tôi sẽ đặt nó ở đây để nó được thiết lập theo cách
‫đó.
‫Và nó không bao giờ cần thay đổi.
‫Và bạn không cần phải lo lắng về điều đó khi đang ra ngoài để có được những thứ phù hợp.
‫Và nói chung, thật tốt khi bạn có tất cả những thứ của mình ở gần đầu bởi vì bạn muốn những phụ thuộc đó thường mất nhiều
‫thời gian để cài đặt, bạn muốn chúng ở mức cao nhất có thể để bạn
‫không phải chạy lại chúng thường.
‫Nhưng tôi là những gì tôi sẽ khuyên bạn nên
‫lấy tất cả những thứ này ngay tại đây và đưa nó lên đây bây giờ bạn có thể thực hiện việc này tiếp theo vì đây là một gói tải xuống và cài đặt thủ công.
‫Vì vậy, khi bạn làm điều
‫này, bạn có thể làm một số điều.
‫Một là cái này.
‫Dòng này ngay đây sẽ là một lớp và lớp đó sẽ luôn bao gồm tệp db ngay cả khi bạn không
‫cần nó.
‫Vì vậy, khi bạn dọn dẹp sau, nó sẽ không làm sạch những lớp trước đó.
‫Đó là một trong những vấn đề ở đây là một tệp được tải xuống một lớp và sau đó bạn chuyển đến dòng
‫tiếp theo là một hoặc lệnh Docker tiếp theo, tôi nên nói lệnh Docker tiếp theo sẽ là một
‫lớp mới.
‫Hãy coi đó là một phần riêng biệt khi bạn dừng một dòng hoặc một lệnh docker.
‫Bạn không thể thay đổi rằng bạn không thể quay ngược thời gian và thay đổi điều đó.
‫Vì vậy, dòng tiếp theo hoặc lệnh và tệp docker sẽ chỉ thêm nội dung vào đó.
‫Bây giờ nếu nó xóa các tệp, nó sẽ xóa chúng trong lớp đó.
‫Về cơ bản, nó đặt một số siêu dữ liệu nói rằng tệp đó sẽ không còn tồn tại hoặc có vẻ như nó tồn tại nhưng
‫những tệp đó vẫn sẽ tồn tại và những lớp đó chỉ đọc vì mọi lớp phía
‫trên nó hiện chỉ được đọc và đó là cách mà các lớp này đảm bảo rằng chúng giống hệt những gì bạn mong đợi.
‫Vì vậy, không có lớp nào có thể quay ngược thời gian.
‫Vì vậy, đó là những gì bạn cần làm là kiểm tra một số hình ảnh mặc định của docker và vì vậy chúng ta hãy thực hiện điều này, hãy xem xét một trong những hình ảnh của tôi vì
‫nó sẽ nhiều hơn một chút,
‫nó có thể dễ hiểu hơn một chút.
‫Vì vậy, tôi không
‫chắc chắn.
‫ĐƯỢC RỒI.
‫Vì vậy, tệp Docker vâng có một AP Kay nhưng bạn sẽ nhận thấy ở đây cách tất cả nằm trong một dòng, đó là
‫một ví dụ xấu nhưng chúng ta hãy làm một trung tâm và hãy xem Ghost.
‫Vì vậy, hãy xem tệp Debian Docker này.
‫Được rồi, chúng ta đi thôi.
‫Vì vậy, bạn sẽ nhận thấy rằng trong tình huống này, nó đang tải xuống một số thứ nó đang xử lý những thứ đó và sau đó
‫nó sẽ loại bỏ tất cả những thứ đó trong một dòng chạy.
‫Vì vậy, bằng cách đó những tệp đó không bao giờ bị dính xung quanh.
‫Sau khi lớp đó được niêm phong và được đánh dấu là chỉ đọc.
‫Và đó là chìa khóa quan trọng để giữ cho hình ảnh của bạn nhỏ.
‫Tôi cá rằng một khi bạn làm cho thứ này hiệu quả và kết hợp những thứ này với nhau, bạn sẽ tiết kiệm được hàng trăm
‫megs và kích thước hình ảnh của mình.
‫Được rồi và điều khác ở đây ở đây là tôi cũng sẽ thêm điều đó vào một dòng duy nhất và điều khác tôi sẽ làm ở
‫đó là bạn có thể không cần vì bạn có thể có thể thực hiện một quảng cáo, một quảng cáo sẽ tự động tải
‫xuống một tệp từ Internet.
‫Và nếu bạn đang rất tò mò về sự khác biệt giữa bản sao và quảng cáo thực sự ngày nay tiêu chuẩn của chúng
‫tôi là bản sao thực sự chỉ để sao chép tệp ra khỏi kho lưu trữ mà bạn phù hợp.
‫Vì vậy, chỉ cần sao chép tệp và quảng cáo làm điều tương tự nhưng chúng ta có xu hướng chỉ muốn sử dụng quảng cáo khi chúng ta tải
‫xuống một thứ gì đó từ Internet hoặc bất cứ thứ gì chúng ta đang sao chép và chúng ta muốn nó giải nén hoặc UN tar và điều đó thực sự sẽ lý do
‫để sử dụng quảng cáo.
‫Nhưng lợi ích tuyệt vời của việc sử dụng quảng cáo ở đó là bạn sẽ không cần phải làm gì nếu bạn có thể sử
‫dụng về cơ bản, bác sĩ nội khoa, chúng tôi sẽ lấy tệp đó và tải xuống. Tuy nhiên, tiêu cực của điều đó là khi bạn thực hiện dòng
‫đó rồi bạn đi sang dòng tiếp theo.
‫Gói đó vẫn sẽ tồn tại.
‫Vì vậy, mặc dù quảng cáo thực sự thú vị trong trường hợp của bạn vì bạn đang tải xuống một gói mà bạn
‫tốt, họ sẽ cài đặt và sau đó bạn không cần gói đó trong đó nữa.
‫Tôi có thể chỉ cần đặt tất cả ba dòng đó thành một dòng theo cách đó ở cuối bạn thực sự
‫có thể xóa dấu chấm D. B. tập tin và tiết kiệm thêm dung lượng trong sự kiện cuối cùng của bạn.
‫Vì vậy, bạn sẽ làm tất cả những điều đó trong một lần chạy.
‫Được rồi.
‫Những sự giúp đỡ đó.
‫Vì vậy, có vẻ như bạn đang sao chép trong một số tệp khác tuyệt vời mà bạn đang sử dụng sao chép không thêm.
‫Bạn cũng đang làm một số nhà sản xuất và sao chép và chứng chỉ.
‫Đó chính xác là cách tôi sẽ làm điều đó.
‫Bạn có thể làm cho điều này được tối ưu hóa hơn, bạn có thể đặt tất cả những điều
‫này vào một lệnh chạy duy nhất vì về cơ bản, việc xây dựng nó nhanh hơn một chút sẽ giúp bạn có thể nhanh hơn một
‫giây trong hóa đơn của mình bởi vì mỗi một dòng lệnh này, nó phải dừng lại vùng chứa hoặc tạo
‫vùng chứa mới gắn phần còn lại của hình ảnh và chạy lệnh đó, sau đó lưu vào một hình ảnh vùng chứa mới
‫và sau đó bắt đầu một vùng chứa mới.
‫Đúng.
‫Vì vậy, nó phải thực hiện nhiều công việc hơn là chỉ chạy ba lệnh nhanh.
‫Vì vậy, tôi có thể chỉ có những thứ đó trong một.
‫Không có tiết kiệm không gian an toàn hay bất cứ thứ gì ở đó
‫nhưng chỉ cần ba lệnh thực sự sẽ biến thành một lệnh shell dài của chúng và vâng được rồi.
‫Chúng tôi đã có cổng.
‫Nhân tiện, tôi có thể sẽ làm điều tương tự để làm cho những người đó chỉ vì sự hiệu quả.
‫Vì vậy, ngay tại đây, bạn đang sao chép trong hai dòng sao chép khác nhau, bạn có thể tạo một dòng đó.
‫Bạn thực sự có thể nói sao chép và sau đó là đường dẫn đến CRT và sau đó là đường dẫn đến khóa đó.
‫Kay Kay bạn tại sao và có hai tệp đó rồi đưa vào đường dẫn đến thư mục SSL.
‫Vì vậy, miễn là cả hai đều đi đến cùng một thư mục, bạn có thể có nhiều tệp trong một
‫dòng sao chép duy nhất sẽ giúp bạn thực hiện dễ dàng hơn một chút.
‫Ít dòng hơn, nó có xu hướng tốt hơn miễn là chúng không quá phức tạp.
‫Ừ.
‫Bạn đã có một số nội dung Apache tiêu chuẩn ở đó trên các cấu hình mà bạn cũng có thể làm được.
‫Tôi không biết là bao nhiêu.
‫Ừ.
‫Đây là những điều này thực sự là những điều tốt.
‫Tôi
‫nghĩ đó là những điều tốt. có thể sử dụng cấu hình đó hoặc trong các cộng
‫đồng được gọi là bản đồ cấu hình, bạn có thể
‫sử dụng tính năng cấu hình và swarm để gắn kết các tệp này
‫trong thời gian chạy để bạn không phải viết mã khó cho bất kỳ
‫cấu hình nào.
‫Lý tưởng nhất là bạn không phải mã hóa cứng SSL có trong hình ảnh của bạn hoặc thực sự nếu bạn có SSL tùy chỉnh như
‫bạn muốn lưu trữ trong trình dàn nhạc của mình hoặc trong Docker và gắn kết chúng và khi bạn chạy vì lý tưởng là không
‫có bất kỳ điều gì bí mật trong một hình ảnh khi bạn lưu nó.
‫Vì vậy, hy vọng bạn sẽ làm điều tương tự ở đây vì bạn có thể kết hợp hai thứ này thành
‫một dòng. dấu hoa thị dấu chấm X số lượng thư mục và sau đó bạn có thể sao
‫chép cả bốn vào đó, đó là ưu và nhược điểm của điều đó bởi vì sau
‫đó nếu một tệp excel bổ sung X xuất hiện, nó có thể vô tình
‫bị sao chép vào nhưng nó chỉ phụ thuộc vào mức độ chi tiết bạn muốn và làm thế nào bạn muốn dòng
‫chữ cho các dòng nội dung thay vì giữ cho tệp tối hơn nhỏ và đơn giản.
‫Được rồi.
‫Và sau đó bạn có một bản sao khác chạy thay đổi của bạn trong thư mục làm việc và sau đó bạn đã có
‫điểm nhập của mình.
‫Hiện tại, bạn thường không có CRM D.
‫Vì vậy, tôi đoán là bạn đang sử dụng CRM D từ hình ảnh gốc này và điều đó hoàn toàn ổn.
‫Không có gì sai với điều đó.
‫Một trong những thách thức mà tôi gặp phải với điều đó là những người đang sử dụng hình ảnh của tôi nếu tôi có một nhóm người,
‫họ sẽ không biết làm thế nào để đến gặp họ D.
‫Vì vậy, tôi có xu hướng chỉ lặp lại CMT mặc dù nó không cần thiết ở phần dưới cùng vì họ sẽ lấy cái này và sắp xếp
‫một repo và họ sẽ xem xét nó và nếu họ không quá hiểu về Docker thì họ sẽ không nhận
‫ra Ồ tôi cần phải đi tìm tệp Docker đó cho.
‫Từ đó nó đến từ hoặc sử dụng lịch sử và quay lại xem lịch sử và thời gian để tìm
‫CMT đó.
‫Vì vậy, bạn thậm chí có thể ném nó vào chỉ một nhận xét để giúp những người có thể đang xem tệp Docker
‫này nhưng tôi có xu hướng nhận thấy điều đó bởi vì điểm nhập trong CMT rất quan trọng đối với những
‫gì hình ảnh Docker này làm nên tôi có xu hướng thêm n đó mặc dù nó có thể lặp lại với hình ảnh trước đó.
‫Một lần nữa, tất cả đó chỉ là siêu dữ liệu nên nó không thực sự thêm bất kỳ thời gian thực hoặc khối lượng nào vào bản dựng của bạn hơn là các
‫thay đổi tệp khác và các lệnh chạy mà bạn thực hiện.
‫Nhưng khác với điều đó, nó trông giống như một tệp Docker sản xuất chất lượng tốt tuyệt vời mà bạn đã dành
‫nhiều thời gian cho nó nhưng tôi nghĩ chắc chắn về tổng thể, bạn có thể kết hợp nhiều tệp đó và có
‫được những thứ để tiết kiệm nhiều dung lượng trong hình ảnh của bạn và rất nhiều của bloat và cũng tránh vấn đề cập nhật có một bản cập nhật cũ
‫về cơ bản là một ứng dụng cũ để nhận tiền khi bạn cố gắng cài đặt nội dung mới.
‫Tôi muốn giới thiệu cho bạn phiên bản này và về cơ bản bạn có thể bên trong lệnh cài đặt này, bạn có thể
‫chỉ định phiên bản của từng công cụ có thể một số công cụ này không thực sự quan trọng nhưng khi bạn bắt đầu
‫tải xuống các thư viện mà bạn cần.
‫Đối với Apache cho ứng dụng thực tế của bạn, đây chỉ là những tiện ích khác để quản lý nó không thực sự là thứ mà bạn
‫sẽ sử dụng trên một ứng dụng đang chạy sản xuất.
‫Đúng.
‫Nhưng Apache trực tiếp ở đây, tôi chắc chắn sẽ phiên bản rằng tôi đã bị một chút bởi
‫lỗi này và HP vì một mongo D. B. trình điều khiển và HP đã thay đổi các phiên bản bên trong hình ảnh
‫của tôi và nó đã bị lỗi, nó có một lỗi và nó đã phá vỡ các ứng dụng sản xuất của tôi vì tôi không ghim nó vào tệp docker và về cơ
‫bản tôi đã bắt đầu sản xuất. Chỉ một ngày tôi đã xây dựng lại hình ảnh đó. hoạt động tốt trên máy của tôi vì máy của tôi có một phiên
‫bản khác bởi vì không có nó nói rằng không có phiên bản nào ở đó về cơ bản bạn
‫đang nhận được bất kể phiên bản mới nhất khi bạn xây dựng hình ảnh, vì vậy hy vọng rằng bạn sẽ có được một phiên bản tốt mà
‫hoạt động.
‫Vì vậy, bạn chắc chắn nhận được một mã ghim mà cá nhân tôi sẽ ghim tất cả và chỉ cập nhật mỗi tháng một lần hoặc thứ gì đó
‫hoặc bất cứ điều gì mà nhóm bảo mật của bạn yêu cầu.
‫Nhưng đó là một tệp Docker tuyệt vời.
‫Cảm ơn bạn rất nhiều.
‫Tất nhiên luôn có chỗ để cải thiện và tôi rất vui vì bạn đã xuất hiện để trợ giúp điều đó.