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
Kết nối mạng Docker trong Compose: cầu nối, máy chủ và mạng mặc định
· Lý lịch
docker soạn mạng
Mô hình mạng của Docker đã thay đổi rất nhiều từ --link ngày đầu cho đến các mạng do người dùng xác định ngày nay. Bài đăng này giải thích các chế độ, những gì Compose tự động tạo và cách cờ --network chuyển đổi.
Vùng chứa web không thể tìm thấy cơ sở dữ liệu — docker cũ chạy được sử dụng --link, tệp mới không có gì
Vùng chứa web không thể tìm thấy cơ sở dữ liệu — docker cũ chạy được sử dụng --link, tệp mới không có gì. Bằng chứng: --link được sử dụng và cảnh báo là di sản thay vì trở thành YAML. Tái tạo tệp đính kèm mạng bằng chữ dùng một lần. Ghép nối từng lần xuất hiện nguồn với các liên kết mạng network_mode; dự trữ DNS và cấu trúc liên kết để đánh giá điểm đến.
Sự cố mạng cũng tiết lộ rằng Một ranh giới sự cố mạng riêng biệt là các giá trị riêng tư của máy chủ không có cầu nối và tiền tố vùng chứa trở thành network_mode. Bằng chứng: không có cầu nối nào, các giá trị riêng tư và tiền tố vùng chứa trở thành network_mode. Ràng buộc đính kèm mạng này là một điểm dừng. Kiểm tra các liên kết mạng network_mode mà không có hành vi sản xuất, sau đó ghi lại quá trình kiểm tra máy chủ cho DNS và cấu trúc liên kết.
Trình chuyển đổi khai báo các mạng bên ngoài do người dùng đặt tên; nó không xây dựng một mạng mặc định đa dịch vụ
Cầu nối mặc định và cầu nối do người dùng xác định - tại sao tên dịch vụ chỉ phân giải ở cầu nối sau. Bằng chứng: trình chuyển đổi một dịch vụ không thể xây dựng các mối quan hệ DNS của dự án; Trình chuyển đổi khai báo các mạng bên ngoài do người dùng đặt tên; nó không xây dựng một mạng mặc định đa dịch vụ. Theo dõi mã thông báo đính kèm mạng vào các liên kết mạng network_mode. Tách các giá trị được sắp xếp khỏi các trường giá trị cuối cùng; DNS và cấu trúc liên kết nằm ngoài bộ sưu tập.
Một ranh giới cơ chế mạng liên quan là đối với phần mạng này, hãy giữ nguyên lệnh và cảnh báo ban đầu cho phần mạng này cho phần mạng này bên cạnh tệp ứng 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ế đính kèm mạng này để dự đoán một thành viên hoặc vô hướng trong các liên kết mạng network_mode. Kiểm tra các cảnh báo trước khi quyết định bất kỳ điều gì về DNS và cấu trúc liên kết.
Hành vi DNS của mạng dự án không được tạo ra hoặc kiểm tra bởi trình chuyển đổi dịch vụ đơn lẻ này
Những gì Compose tạo ra cho bạn — một mạng dự án trong đó mọi dịch vụ đều có tên DNS. Bằng chứng: mạng tùy chỉnh trở thành mục nhập dịch vụ cộng với khai báo bên ngoài; Hành vi DNS của mạng dự án không được tạo ra hoặc kiểm tra bởi trình chuyển đổi dịch vụ đơn lẻ này. Đánh giá tuần tự hóa tệp đính kèm mạng từ mô hình của nó. Trích dẫn trong các liên kết mạng network_mode bảo vệ các loại nhưng không đưa ra bằng chứng hoạt động cho DNS và cấu trúc liên kết.
Quan sát tuần tự hóa mạng thứ hai là giữ cho phần mạng này lệnh ban đầu cho phần mạng này và cảnh báo bên cạnh đối với phần mạng này, tệp ứng cử viên này cho thấy kết quả tuần tự hóa mạng tách biệt được trình bày cho cấu hình phần mạng 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 mạng này nằm ngoài quá trình chuyển đổi tuần tự hóa mạng. Đầu ra tệp đính kèm mạng này tách biệt cài đặt khỏi ngữ cảnh không có sẵn. Giữ cho các liên kết mạng network_mode có thể xem lại được và kiểm tra DNS cũng như cấu trúc liên kết một cách độc lập.
--network máy chủ và không có máy chủ nào — network_mode: máy chủ, tính chất tập trung vào Linux và các cổng bị bỏ qua
--network máy chủ và không có máy chủ nào — network_mode: máy chủ, tính chất tập trung vào Linux và các cổng bị bỏ qua. Dừng lại ở ngoại lệ đính kèm mạng thay vì đoán. Bất kỳ sự bổ sung nào gần các liên kết mạng network_mode đều cần có lý do dành riêng cho việc triển khai gắn liền với DNS và cấu trúc liên kết.
Một hạn chế ngoại lệ mạng khác là ranh giới ngoại lệ mạng riêng biệt là các bí danh macvlan lớp phủ và địa chỉ cố định cần thao tác thủ công. Bằng chứng: lớp phủ bí danh macvlan và địa chỉ cố định cần thực hiện thủ công. Giữ lệnh đính kèm mạng ban đầu bên cạnh các cảnh báo. Việc so sánh cho thấy các liên kết mạng network_mode chứa những gì và DNS nào cũng như quyết định cấu trúc liên kết vẫn được thực hiện thủ công.
container:x được giữ nguyên dưới dạng network_mode: container:x, không được ghi lại thành service:x
--network container:x — network_mode: service:x trong Compose và cách sử dụng nó cho VPN sidecar. Bằng chứng: container:x vẫn giữ nguyên theo nghĩa đen và không được viết lại thành service:x; container:x được giữ nguyên dưới dạng network_mode: container:x, không được ghi lại thành service:x. Xây dựng ví dụ đính kèm mạng từ tên tổng hợp. Làm cho mọi mục liên kết mạng network_mode có thể theo dõi được mà không để lộ chi tiết DNS sản xuất và cấu trúc liên kết.
Mẫu ví dụ mạng tương tự chứng minh rằng đối với phần mạng này, hãy giữ nguyên lệnh và cảnh báo ban đầu cho phần mạng này cho phần mạng này bên cạnh tệp ứng cử viên này. Thông tin đính kèm mạng được ghép nối sẽ hiển thị trong các liên kết mạng network_mode. Ghi lại dòng đó và tránh các giả định về DNS và cấu trúc liên kết.
--link được cảnh báo là kế thừa và bị bỏ qua thay vì trở thành khóa liên kết
--link — các liên kết cũ: khóa, chức năng của nó và lý do tên dịch vụ thay thế nó. Bằng chứng: không có khóa liên kết nào được tạo và các đồng nghiệp phải được lập mô hình thủ công; --link được cảnh báo là cũ và bị bỏ qua thay vì trở thành khóa liên kết. Dịch hậu quả đính kèm mạng thành một sự khác biệt liên kết mạng network_mode có thể quan sát được. Docker sở hữu phán quyết DNS sau này và cấu trúc liên kết.
Việc triển khai hậu quả mạng cũng cho thấy đối với phần mạng này, hãy giữ bản gốc cho lệnh và cảnh báo của phần mạng này bên cạnh tệp ứng cử viên này cho phần mạng này mà thực tế hậu quả mạng xác định những gì đối với phần mạng này mà trình duyệt đã đóng góp cho phần mạng này docker vẫn sở hữu phán quyết thời gian chạy hậu quả mạng đối với nhà điều hành phần mạng này vẫn sở hữu chính sách bảo mật hậu quả mạng đối với kho lưu trữ phần mạng này vẫn cần loại bỏ bí mật hậu quả mạng, giữ cho phần mạng này những trách nhiệm riêng biệt khi đối với phần mạng này mô tả dịch vụ được tạo. Phân chia trách nhiệm đính kèm mạng: chuyển đổi ghi liên kết mạng network_mode, kho lưu trữ xóa bí mật và người vận hành xác thực DNS và cấu trúc liên kết.
Điều này không bao gồm - mạng lớp phủ, cấu hình macvlan và IPv6
Điều này không bao gồm - mạng lớp phủ, cấu hình macvlan và IPv6. Giới hạn phạm vi đính kèm mạng ở các nhánh liên kết mạng network_mode đượ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 DNS và các câu hỏi về cấu trúc liên kết.
Một giới hạn phạm vi mạng nữa theo sau Một ranh giới giới hạn mạng riêng biệt là trình chuyển đổi dịch vụ đơn lẻ không thể xây dựng các mối quan hệ DNS của dự án. Bằng chứng: trình chuyển đổi một dịch vụ không thể xây dựng các mối quan hệ DNS của dự án. Hãy coi ranh giới đính kèm mạng này là một loại trừ. Ưu tiên các liên kết mạng ở chế độ mạng chính xác hơn là các phỏng đoán về DNS và cấu trúc liên kết.
Đọc các cảnh báo cùng với các khai báo network_mode và mạng bên ngoài
Bài học rút ra: Mạng soạn thư là --link hiện đại — và việc chuyển đổi lệnh bằng --network sẽ hiển thị cách cờ được thể hiện trong dịch vụ. Bằng chứng: chế độ máy chủ cảnh báo rằng các cổng đã xuất bản không có hiệu lực trong thời gian chạy; Đọc các cảnh báo cùng với các khai báo network_mode và mạng bên ngoài. Kiểm tra tệp đính kèm mạng dưới dạng tùy chọn nguồn, trường mô hình, dòng liên kết mạng network_mode và cảnh báo. Xóa bí mật trước khi kiểm tra DNS và cấu trúc liên kết.
Cuối cùng, nguồn lấy đi mạng xác nhận giữ lệnh ban đầu cho phần kết nối mạng này và cảnh báo bên cạnh phần kết nối mạng này tệp ứng cử viên này rằng kết luận rút ra kết nối mạng sẽ cải thiện khả năng kiểm tra cho phần kết nối mạng này mà không hứa hẹn lớp vỏ tương đương cho việc phân tích cú pháp phần kết nối mạng này vẫn nằm ngoài đảm bảo lấy đi kết nối mạng. Đóng phần đính kèm mạng trong phạm vi hẹp: các liên kết mạng network_mode là một ứng cử viên; DNS và cấu trúc liên kết cũng như tính tương đương của shell không được đảm bảo.