Tiếng Việt

Công cụ dành cho nhà phát triển · Chạy Docker sang trình chuyển đổi soạn thảo Docker

Khóa phiên bản trong tệp Soạn thư đã lỗi thời: cái gì đã thay thế nó

· Lý lịch

docker soạn cấu hình

Sơ đồ trừu tượng minh họa khóa phiên bản trong tệp soạn thư đã lỗi thời: cái gì thay thế nó
Hình minh họa vector ToolAcre gốc

Trong nhiều năm, mọi tệp Soạn đều bắt đầu bằng phiên bản: '3'. Bài đăng này giải thích số được dùng để chọn, lý do tại sao Thông số kỹ thuật soạn thư lại loại bỏ số đó và những việc cần làm với các tệp bạn có.

Cảnh báo mới cho mỗi lệnh — 'phiên bản đã lỗi thời' trên một tệp đã hoạt động không thay đổi trong nhiều năm

Cảnh báo mới cho mỗi lệnh — 'phiên bản đã lỗi thời' trên một tệp đã hoạt động không thay đổi trong nhiều năm. Bằng chứng: người viết bắt đầu với các dịch vụ và các bài kiểm tra từ chối khóa phiên bản cấp cao nhất. Tái tạo việc xóa khóa phiên bản bằng các chữ dùng một lần. Ghép nối từng lần xuất hiện nguồn với đầu ra dịch vụ không có phiên bản; dự trữ khả năng tương thích kế thừa để xem xét điểm đến.

Sự cố cấu hình cũng tiết lộ rằng ranh giới sự cố cấu hình riêng biệt là kết quả được hỗ trợ là một tài liệu giới hạn không có phiên bản. Bằng chứng: kết quả được hỗ trợ là một tài liệu giới hạn không có phiên bản. Ràng buộc loại bỏ khóa phiên bản này là một điểm dừng. Kiểm tra đầu ra của các dịch vụ không có phiên bản mà không có hành vi sản xuất, sau đó ghi lại quá trình kiểm tra máy chủ để biết khả năng tương thích cũ.

Kho lưu trữ này xác minh sự thiếu sót của phiên bản, không phải các bảng tương thích giữa công cụ và định dạng lịch sử

Phiên bản nào: đã chọn — định dạng tệp 1, 2.x hoặc 3.x, mỗi phiên bản được gắn với một Docker Engine tối thiểu và một bộ khóa được phép. Bằng chứng: không tồn tại bảng tương thích giữa công cụ và định dạng trong kho lưu trữ này; Kho lưu trữ này xác minh sự thiếu sót của phiên bản, chứ không phải các bảng tương thích lịch sử giữa công cụ và định dạng. Theo dõi mã thông báo loại bỏ khóa phiên bản thành đầu ra dịch vụ không có phiên bản. Tách các giá trị được sắp xếp khỏi các trường giá trị cuối cùng; khả năng tương thích kế thừa là bộ sưu tập bên ngoài.

Một ranh giới cơ chế cấu hình liên quan là đối với phần cấu hình này, hãy giữ lệnh gốc cho phần cấu hình này và các cảnh báo cho phần cấu hình này bên cạnh tệp ứng cử viên này. Bằng chứng: kho lưu trữ không cung cấp thời gian chạy rộng hơn hoặc bằng chứng lịch sử. Sử dụng thực tế loại bỏ khóa phiên bản này để dự đoán một thành viên hoặc đại lượng vô hướng trong đầu ra của các dịch vụ không có phiên bản. Kiểm tra các cảnh báo trước khi quyết định bất cứ điều gì về khả năng tương thích cũ.

Mã này không giải thích được tại sao các nhánh định dạng trước đó lại phân kỳ, do đó nó ghi lại các khóa được tạo hiện tại

Tại sao 2 và 3 khác nhau — Khóa hướng theo nhóm trong 3, giới hạn tài nguyên trong 2 và sự nhầm lẫn đã gây ra. Bằng chứng: sự khác biệt trong lịch sử không được giải thích bằng việc thực hiện trình chuyển đổi; Mã này không xác định lý do tại sao các nhánh định dạng trước đó lại phân kỳ, do đó nó ghi lại các khóa được tạo hiện tại. Phiên bản Judge loại bỏ khóa tuần tự khỏi mô hình của nó. Trích dẫn trong đầu ra của các dịch vụ không có phiên bản sẽ bảo vệ các loại nhưng không đưa ra bằng chứng hoạt động nào về khả năng tương thích cũ.

Quan sát tuần tự hóa cấu hình thứ hai được giữ cho phần cấu hình này lệnh gốc cho phần cấu hình này và các cảnh báo bên cạnh đối với phần cấu hình này, tệp ứng cử viên này cho thấy kết quả tuần tự hóa cấu hình tách biệt biểu thị cho cấu hình phần cấu hình này khỏi ngữ cảnh vắng mặt đối với siêu dữ liệu hình ảnh của phần cấu hình này nằm ngoài quá trình chuyển đổi tuần tự hóa cấu hình. Đầu ra loại bỏ khóa phiên bản này tách cài đặt khỏi ngữ cảnh không có sẵn. Giữ cho đầu ra của các dịch vụ không có phiên bản có thể xem xét được và kiểm tra khả năng tương thích cũ một cách độc lập.

Câu trả lời của thông số kỹ thuật — thay vào đó, một lược đồ, không có trường phiên bản, các tính năng được kiểm soát bằng cách triển khai Compose

Câu trả lời của thông số kỹ thuật — thay vào đó, một lược đồ, không có trường phiên bản, thay vào đó là các tính năng được kiểm soát bằng cách triển khai Compose. Dừng lại ở ngoại lệ xóa khóa phiên bản thay vì đoán. Bất kỳ sự bổ sung nào gần đầu ra của các dịch vụ không có phiên bản đều cần có lý do dành riêng cho việc triển khai gắn liền với khả năng tương thích cũ.

Một hạn chế ngoại lệ cấu hình khác là ranh giới ngoại lệ cấu hình riêng biệt là ngữ nghĩa Python và Swarm kế thừa cần các tham chiếu được phiên bản. Bằng chứng: ngữ nghĩa Python và Swarm kế thừa cần các tài liệu tham khảo được phiên bản. Giữ lệnh xóa khóa phiên bản gốc bên cạnh các cảnh báo. Sự so sánh này cho thấy đầu ra của các dịch vụ không có phiên bản chứa những gì và quyết định tương thích cũ nào vẫn được thực hiện thủ công.

Phải làm gì với các tệp cũ - xóa khóa, kiểm tra các khóa chỉ v2 hoặc chỉ v3 và chạy cấu hình soạn thảo docker

Phải làm gì với các tệp cũ - xóa khóa, kiểm tra các khóa chỉ v2 hoặc chỉ v3 và chạy cấu hình soạn thảo docker. Bằng chứng: việc xóa phiên bản không thể xác thực mọi khóa kế thừa còn lại. Xây dựng ví dụ loại bỏ khóa phiên bản khỏi tên tổng hợp. Làm cho mọi mục đầu ra của dịch vụ không có phiên bản đều có thể theo dõi được mà không làm lộ thông tin chi tiết về khả năng tương thích cũ của sản phẩm.

Mẫu ví dụ cấu hình tương tự chứng minh rằng ranh giới của ví dụ cấu hình riêng biệt là đầu ra mới phù hợp với các dịch vụ mà không yêu cầu khả năng tương thích phổ quát. Bằng chứng: sản phẩm mới phù hợp với các dịch vụ mà không yêu cầu khả năng tương thích phổ quát. Thực tế loại bỏ khóa phiên bản được ghép nối sẽ hiển thị trong đầu ra của các dịch vụ không có phiên bản. Ghi lại dòng đó và tránh các giả định về khả năng tương thích cũ.

Ví dụ đã hoạt động: chỉ xóa dòng phiên bản sau khi xem xét tất cả các khóa còn lại

Ví dụ đã hoạt động: hiện đại hóa một phiên bản: tệp '2.1' - ba lần chỉnh sửa và sự khác biệt trước và sau. Bằng chứng: một ví dụ về hiện đại hóa chỉ nên xóa điểm đánh dấu đó sau khi xem xét; Ví dụ đã hoạt động: chỉ xóa dòng phiên bản sau khi xem xét tất cả các khóa còn lại. Chuyển hậu quả của việc xóa khóa phiên bản thành một sự khác biệt đầu ra của dịch vụ không có phiên bản có thể quan sát được. Docker sở hữu phán quyết tương thích kế thừa sau này.

Việc triển khai hậu quả cấu hình cũng hiển thị cho phần cấu hình này, giữ nguyên bản gốc cho lệnh và cảnh báo của phần cấu hình này bên cạnh cho phần cấu hình này, tệp ứng viên này mà thực tế hậu quả cấu hình xác định những gì cho phần cấu hình này mà trình duyệt đã đóng góp cho phần cấu hình này docker vẫn sở hữu phán quyết thời gian chạy hậu quả cấu hình đối với phần cấu hình này, nhà điều hành vẫn sở hữu chính sách bảo mật hậu quả cấu hình đối với kho lưu trữ phần cấu hình này vẫn cần loại bỏ bí mật hậu quả cấu hình, giữ cho phần cấu hình này những trách nhiệm riêng biệt khi đối với phần cấu hình này mô tả dịch vụ được tạo. Phân chia trách nhiệm xóa khóa phiên bản: chuyển đổi ghi đầu ra dịch vụ không có phiên bản, kho lưu trữ xóa bí mật và người vận hành xác thực khả năng tương thích cũ.

Các yêu cầu về công cụ Python kế thừa và hành vi triển khai Swarm không được suy ra từ trình chuyển đổi này

Điều này không bao gồm những gì - docker-compose v1 Python cũ, vẫn yêu cầu khóa và cài đặt triển khai dành riêng cho Swarm. Bằng chứng: ngữ nghĩa Python và Swarm kế thừa cần các tài liệu tham khảo được phiên bản; Các yêu cầu về công cụ Python kế thừa và hành vi triển khai Swarm không được suy ra từ trình chuyển đổi này. Giới hạn phạm vi loại bỏ khóa phiên bản đối với các nhánh đầu ra dịch vụ không có phiên bản được hiển thị ở đây. Các biểu mẫu và mặc định lân cận không thể trả lời các câu hỏi về khả năng tương thích cũ.

Sau đây là một giới hạn phạm vi cấu hình nữa từ việc giữ lệnh gốc cho phần cấu hình này và các cảnh báo bên cạnh tệp ứng cử viên này. Hãy coi ranh giới loại bỏ khóa phiên bản này là một loại trừ. Ưu tiên kết quả đầu ra của các dịch vụ không có phiên bản chính xác hơn là những phỏng đoán về khả năng tương thích cũ.

Bài học rút ra: định dạng tệp có một hình dạng hiện tại — và định nghĩa dịch vụ mới được chuyển đổi phù hợp với các dịch vụ: không có dòng phiên bản

Bài học rút ra: định dạng tệp có một hình dạng hiện tại — và định nghĩa dịch vụ mới được chuyển đổi phù hợp với các dịch vụ: không có dòng phiên bản. Kiểm tra việc xóa khóa phiên bản dưới dạng tùy chọn nguồn, trường mô hình, dòng đầu ra dịch vụ không có phiên bản và cảnh báo. Xóa bí mật trước khi kiểm tra tính tương thích cũ.

Cuối cùng, nguồn lấy đi cấu hình xác nhận Một ranh giới quyết định cấu hình riêng biệt là sự phân kỳ lịch sử không được giải thích bằng việc triển khai trình chuyển đổi. Bằng chứng: sự khác biệt trong lịch sử không được giải thích bằng việc thực hiện chuyển đổi. Đóng loại bỏ khóa phiên bản trong phạm vi hẹp: đầu ra dịch vụ không có phiên bản là một ứng cử viên; khả năng tương thích kế thừa và tương đương với shell không được đảm bảo.