Liên kết vùng chứa Docker

Docker Container Links



Nhiều ứng dụng đơn lẻ sử dụng docker như một vùng chứa. Nhiều người sử dụng nó trên toàn cầu, và một trong những lý do cho sự phổ biến của nó là tính dễ sử dụng. Bạn không cần phải có kỹ năng trong bất kỳ phần mềm nào để sử dụng và thiết lập docker và bắt đầu sử dụng nó cho các thử nghiệm. Tuy nhiên, khi người dùng thử các máy chủ phức tạp hơn, cần phải biết về các kỹ thuật kết nối mạng docker. Bài viết dưới đây thảo luận về các liên kết vùng chứa docker và các tính năng của mạng của nó.

Liên kết vùng chứa Docker

Công dụng chính của liên kết Docker là cho phép liên kết các vùng chứa với nhau. Trước phiên bản 1.9, đây là cách duy nhất để kết nối các vùng chứa. Các liên kết Docker sẽ không tồn tại trong tương lai và mọi người thường tránh điều này cho các thiết kế mới. Tuy nhiên, là một người mới, bạn phải có một số ý tưởng về liên kết nếu bạn phải xử lý một mã kế thừa.







Ví dụ về liên kết Docker

Trong đoạn sau, chúng ta sẽ tạo hai vùng chứa sẽ hoạt động như một máy chủ Redis và máy khách Redis, tương ứng. Chúng tôi sẽ nhập dữ liệu và thông tin vào máy chủ Redis bằng cách sử dụng máy khách Redis. Lệnh đầu tiên sau đây sẽ khởi động một máy chủ Redis được gọi là redis_server.



$docker chạy-NS --Tênredis_server redis



$sudongười đóng tàups





Lệnh tiếp theo sau đây sẽ được sử dụng để khởi động máy khách Redis được gọi là redis_client.

$sudodocker chạy-nó --rm --Tênredis_client- liên kếtredis_server: redisDB redisbấu víu

Tùy chọn ‘liên kết được sử dụng ở đây để liên kết redis_server trong khi cung cấp thông tin cho redisDB. Sau khi bạn nhập một lệnh, một dấu nhắc lệnh sẽ mở ra trước mặt bạn như sau:



nguồn gốc@e2364251d31d:/dữ liệu#

Các lệnh tiếp theo mà bạn nhập sẽ được sử dụng để cài đặt ping.

$apt-get cập nhật

$nâng cấp apt-get

$apt-get cài đặtiputils-ping

Bạn sẽ nhận được phản hồi sau khi nhập lệnh và ping máy chủ Redis.

$pingredisDB

Bây giờ chúng ta sẽ thêm lệnh để kết nối với máy chủ Redis.

$sudongười đóng tàungười điều hành -nóredis_clientNS

$ redis-cli –h redisDB
redisDB:6379>

Lệnh mới này DB: 6379 có nghĩa là chúng tôi đã kết nối với máy chủ Redis. Bây giờ bạn có thể thêm thông tin vào máy chủ. Một ví dụ được đưa ra dưới đây.

$ redisDB:6379>bộsách'Hoàng tử Hạnh phúc'
$ redisDB:6379>bộtác giả'Mark Twain'
$ redisDB:6379>lấy sách
$ redisDB:6379>nhận tác giả

Mạng Docker

Docker đã cài đặt tính năng kết nối mạng trong phiên bản 1.9 của nó. Phiên bản mới sẽ tự động tạo ba mạng sau khi chúng ta nhập lệnh sau.

$sudomạng dockerls

Không, Bridge và host là những mạng tồn tại trong toàn bộ quá trình này. Hãy để họ thảo luận bên dưới:

Cầu: mạng cầu nối đại diện cho Docker0. Docker0 là một cầu Ethernet ảo có nhiệm vụ chuyển tiếp các gói tin tới các giao diện mạng khác gắn liền với nó. Ngoài ra, khách hàng có thể xây dựng các cây cầu do họ tự thiết kế.

Tổ chức: Nhiệm vụ chính của mạng máy chủ là thêm các vùng chứa vào ngăn xếp mạng máy chủ. Khi bạn đã xác định mạng máy chủ, sự phân tách và khác biệt giữa máy chủ và vùng chứa sẽ không còn nữa.

Ghi chú: Nhiệm vụ chính của không mạng nào là tắt kết nối mạng. Một số ứng dụng chạy mà không cần bất kỳ mạng nào và chúng không cần bất kỳ mạng nào vì bất kỳ lý do gì.

Ví dụ về mạng dựa trên mạng cầu nối do người dùng xác định

Phần này sẽ giúp kiểm tra Docker bằng máy chủ Redis. Đầu tiên, chúng ta sẽ tạo một mạng gọi là mạng nội bộ bằng lệnh.

$sudomạng docker tạo-NScầu nối Internal_network

Sau khi nghiên cứu mạng, bạn định cấu hình mạng con và cổng kết nối đã được tạo.

$sudomạng docker kiểm tra Internal_network
[
{
'Tên':'mạng nội bộ',
'Tôi':'9bc2213d3a39d46765fe50ef8e9b7819df8e7124b0a46552447cbda84e31b049',
'Tạo':'2017-11-02T08: 01: 05.119528611Z',
'Phạm vi':'địa phương',
'Người lái xe':'cầu',
'EnableIPv6':sai,
'IPAM':{
'Người lái xe':'vỡ nợ',
'Tùy chọn':{},
'Cấu hình':[
{
'Mạng con':'172.18.0.0/16',
'Cổng vào':'172.18.0.1'
}
]
},
'Nội bộ':sai,
'Có thể đính kèm':sai,
'Xâm nhập':sai,
'ConfigFrom':{
'Mạng':''
},
'ConfigOnly':sai,
'Hộp đựng':{},
'Tùy chọn':{},
'Nhãn':{}
}
]

Bạn cũng có thể liệt kê mạng cầu nối đã được tạo trước đó.

$sudomạng dockerls

Bây giờ, chúng ta sẽ thực hiện lệnh gắn cầu nối mạng nội bộ vào redis_server.

$sudodocker chạy-NS --mạng= internal_network--Tên= redis_server redis

Và bây giờ đính kèm máy khách:

$sudodocker chạy-NS --mạng= internal_network--Tên= redis_client redisbấu víu

Sau khi bạn điều tra mạng nội bộ, bạn sẽ nhận ra rằng hai container đã được đưa vào mạng của cây cầu.

$sudomạng docker kiểm tra Internal_network


Bây giờ, từ redis_client của bạn, bạn sẽ có thể ping quảng cáo redis_server sau đó kết nối với quảng cáo đó.

$pingredis_server

Phần kết luận:

Trong bài viết này, chúng tôi đã giới thiệu cho các bạn cách cấu hình và làm việc với các liên kết vùng chứa docker. Docker là một công nghệ vùng chứa rất dễ sử dụng được sử dụng cho các ứng dụng đơn lẻ. Nhiều người sử dụng nó trên toàn cầu, và một trong những lý do phổ biến của nó là tính dễ sử dụng.