ลิงค์คอนเทนเนอร์ Docker

Docker Container Links



แอปพลิเคชั่นเดียวจำนวนมากใช้นักเทียบท่าเป็นคอนเทนเนอร์ หลายคนใช้ทั่วโลก และเหตุผลหนึ่งที่ทำให้ความนิยมคือความสะดวกในการใช้งาน คุณไม่จำเป็นต้องมีทักษะในซอฟต์แวร์ใดๆ เพื่อใช้งานและตั้งค่านักเทียบท่า และเริ่มใช้งานสำหรับการทดลอง อย่างไรก็ตาม เนื่องจากผู้ใช้พยายามใช้เซิร์ฟเวอร์ที่ซับซ้อนมากขึ้น จึงจำเป็นต้องรู้เกี่ยวกับเทคนิคเครือข่ายนักเทียบท่า บทความด้านล่างกล่าวถึงลิงค์คอนเทนเนอร์ของนักเทียบท่าและคุณสมบัติของเครือข่าย

ลิงค์คอนเทนเนอร์ Docker

การใช้งานหลักของ Docker link คือการอนุญาตให้เชื่อมโยงคอนเทนเนอร์เข้าด้วยกัน ก่อนเวอร์ชัน 1.9 นี่เป็นวิธีเดียวสำหรับการเชื่อมต่อคอนเทนเนอร์ ลิงก์ Docker จะไม่คงอยู่ในอนาคต และผู้คนมักจะหลีกเลี่ยงสิ่งนี้สำหรับการออกแบบใหม่ อย่างไรก็ตาม ในฐานะมือใหม่ คุณต้องมีความคิดบางอย่างเกี่ยวกับการเชื่อมโยง หากคุณต้องจัดการกับรหัสเดิม







ตัวอย่าง Docker Link

ในย่อหน้าต่อไปนี้ เราจะสร้างคอนเทนเนอร์สองคอนเทนเนอร์ที่จะทำงานเป็นเซิร์ฟเวอร์ Redis และไคลเอ็นต์ Redis ตามลำดับ เราจะป้อนข้อมูลและข้อมูลไปยังเซิร์ฟเวอร์ Redis โดยใช้ไคลเอนต์ Redis คำสั่งแรกต่อไปนี้จะเริ่มต้นเซิร์ฟเวอร์ Redis ที่เรียกว่า redis_server



$นักเทียบท่าวิ่ง-NS --ชื่อredis_server redis



$sudoนักเทียบท่าปล





คำสั่งต่อไปนี้จะใช้เพื่อเริ่มต้นไคลเอ็นต์ Redis ที่เรียกว่า redis_client

$sudoนักเทียบท่าวิ่ง-มัน --rm --ชื่อredis_client--linkredis_server: redisDB redisทุบตี

ตัวเลือกของ 'ลิงก์ถูกใช้ที่นี่เพื่อเชื่อมโยง redis_server ในขณะที่ให้ข้อมูลกับ redisDB หลังจากที่คุณพิมพ์คำสั่งแล้ว พรอมต์คำสั่งจะเปิดขึ้นต่อหน้าคุณดังนี้:



ราก@e2364251d31d:/ข้อมูล#

คำสั่งถัดไปที่คุณจะป้อนจะถูกใช้ในการติดตั้ง ping

$apt-get update

$apt-get อัพเกรด

$apt-get installiputils-ping

คุณจะได้รับการตอบกลับหลังจากป้อนคำสั่งและ ping เซิร์ฟเวอร์ Redis

$ปิงredisDB

ตอนนี้เราจะเพิ่มคำสั่งเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Redis

$sudoนักเทียบท่าผู้บริหาร -มันredis_clientNS

$ redis-cli –h redisDB
redisDB:6379>

คำสั่งใหม่นี้ DB:6379 หมายความว่าเราเชื่อมต่อกับเซิร์ฟเวอร์ Redis แล้ว ตอนนี้คุณสามารถเพิ่มข้อมูลไปยังเซิร์ฟเวอร์ได้ ตัวอย่างได้รับด้านล่าง

$ redisDB:6379>ชุดหนังสือ'เจ้าชายผู้มีความสุข'
$ redisDB:6379>ชุดผู้เขียน'มาร์ค ทเวน'
$ redisDB:6379>รับหนังสือ
$ redisDB:6379>รับผู้เขียน

เครือข่ายนักเทียบท่า

นักเทียบท่าได้ติดตั้งคุณสมบัติเครือข่ายในเวอร์ชัน 1.9 เวอร์ชันใหม่จะสร้างสามเครือข่ายโดยอัตโนมัติหลังจากที่เราป้อนคำสั่งต่อไปนี้

$sudoเครือข่ายนักเทียบท่าลส

ไม่มี บริดจ์และโฮสต์คือเครือข่ายที่มีอยู่ในกระบวนการทั้งหมดนี้ ให้พวกเขาพูดคุยด้านล่าง:

สะพาน: เครือข่ายบริดจ์แสดงถึง Docker0 Docker0 เป็นบริดจ์อีเทอร์เน็ตเสมือนซึ่งมีหน้าที่ในการส่งต่อแพ็กเก็ตไปยังอินเทอร์เฟซเครือข่ายอื่นๆ ที่เชื่อมต่ออยู่ นอกจากนี้ ลูกค้าสามารถสร้างสะพานที่ออกแบบเองได้

เจ้าภาพ: งานหลักของเครือข่ายโฮสต์คือการเพิ่มคอนเทนเนอร์ไปยังสแต็กเครือข่ายโฮสต์ เมื่อคุณกำหนดเครือข่ายโฮสต์แล้ว การแยกและความแตกต่างระหว่างโฮสต์และคอนเทนเนอร์จะหายไป

บันทึก: งานหลักของเครือข่ายไม่มีคือปิดเครือข่าย แอพบางตัวทำงานโดยไม่มีเครือข่าย และไม่จำเป็นต้องมีเครือข่ายด้วยเหตุผลใดๆ

ตัวอย่างเครือข่ายตามเครือข่ายบริดจ์ที่กำหนดโดยผู้ใช้

ส่วนนี้จะช่วยทดสอบ Docker โดยใช้เซิร์ฟเวอร์ Redis ขั้นแรกเราจะสร้างเครือข่ายที่เรียกว่าเครือข่ายภายในด้วยคำสั่ง

$sudoนักเทียบท่าสร้างเครือข่าย-NSสะพาน internal_network

หลังจากการค้นคว้าของคุณในเครือข่าย คุณกำหนดค่าให้มีการสร้างซับเน็ตและเกตเวย์

$sudoเครือข่ายนักเทียบท่าตรวจสอบ internal_network
[
{
'ชื่อ':'เครือข่ายภายใน',
'NS':'9bc2213d3a39d46765fe50ef8e9b7819df8e7124b0a46552447cbda84e31b049',
'สร้าง':'2017-11-02T08:01:05.119528611Z',
'ขอบเขต':'ท้องถิ่น',
'คนขับ':'สะพาน',
'เปิดใช้งาน IPv6':เท็จ,
'ไอแพม':{
'คนขับ':'ค่าเริ่มต้น',
'ตัวเลือก':{},
'กำหนดค่า':[
{
'ซับเน็ต':'172.18.0.0/16',
'ประตู':'172.18.0.1'
}
]
},
'ภายใน':เท็จ,
'ติดได้':เท็จ,
'ทางเข้า':เท็จ,
'กำหนดค่าจาก':{
'เครือข่าย':''
},
'กำหนดค่าเท่านั้น':เท็จ,
'คอนเทนเนอร์':{},
'ตัวเลือก':{},
'ฉลาก':{}
}
]

คุณยังสามารถแสดงรายการเครือข่ายบริดจ์ที่สร้างขึ้นก่อนหน้านี้

$sudoเครือข่ายนักเทียบท่าลส

ตอนนี้ เราจะดำเนินการคำสั่งสำหรับเชื่อมต่อเครือข่ายบริดจ์ภายในกับ redis_server

$sudoนักเทียบท่าวิ่ง-NS --เครือข่าย=internal_network--ชื่อ= redis_server redis

และตอนนี้แนบลูกค้า:

$sudoนักเทียบท่าวิ่ง-NS --เครือข่าย=internal_network--ชื่อ= redis_client redisทุบตี

หลังจากที่คุณตรวจสอบเครือข่ายภายใน คุณจะพบว่าคอนเทนเนอร์ทั้งสองถูกรวมไว้ในเครือข่ายของบริดจ์แล้ว

$sudoเครือข่ายนักเทียบท่าตรวจสอบ internal_network


ตอนนี้ จาก redis_client ของคุณ คุณจะสามารถ ping redis_server โฆษณาเพื่อเชื่อมต่อกับสิ่งนั้นในภายหลัง

$ปิงredis_server

บทสรุป:

ในบทความนี้ ฉันได้แสดงวิธีกำหนดค่าและทำงานกับลิงก์คอนเทนเนอร์ของนักเทียบท่า Docker เป็นเทคโนโลยีคอนเทนเนอร์ที่ใช้งานง่ายมากสำหรับแอปพลิเคชันเดียว หลายคนใช้ทั่วโลก และเหตุผลหนึ่งที่ทำให้ความนิยมคือความสะดวกในการใช้งาน