วิธีการตั้งค่า Docker Private Registry บน Ubuntu 18

Docker Registry เป็นแอปพลิเคชั่นซอฟต์แวร์ที่ช่วยให้คุณสร้างและจัดเก็บภาพภายในองค์กรของคุณ.


คุณยังสามารถสร้างและอัพโหลดรูปภาพของคุณในการลงทะเบียนสาธารณะ Docker Hub แต่ภาพเหล่านี้กลายเป็นสาธารณะและทุกคนสามารถเข้าถึงและใช้ภาพของคุณได้ ดังนั้นจึงแนะนำให้ใช้รีจิสตรี Docker ส่วนตัวที่ช่วยให้คุณควบคุมและป้องกันภาพของคุณ.

ในบทช่วยสอนนี้ฉันจะอธิบายวิธีตั้งค่ารีจิสทรีส่วนตัว Docker บน Ubuntu 18.04.

ความต้องการ

  • เซิร์ฟเวอร์ Ubuntu สองเครื่องที่มีข้อมูลประจำตัวรูท
  • ที่อยู่ IP แบบคงที่บนเซิร์ฟเวอร์ทั้งสอง

เริ่มต้นใช้งาน

ก่อนที่จะเริ่มคุณจะต้องกำหนดค่าการแก้ปัญหาชื่อโฮสต์ในทั้งสองระบบ ดังนั้นทั้งสองระบบสามารถสื่อสารซึ่งกันและกันโดยใช้ชื่อโฮสต์.

หากต้องการทำเช่นนั้นให้รันคำสั่งต่อไปนี้บนทั้งสองระบบ:

เสียงสะท้อน "เซิร์ฟเวอร์ 192.168.0.100" >> / etc / hosts
เสียงสะท้อน "ลูกค้า 192.168.0.102" >> / etc / hosts

เมื่อเสร็จแล้วคุณสามารถไปยังขั้นตอนถัดไป.

ติดตั้ง Docker

ถัดไปคุณจะต้องติดตั้งแพ็กเกจ Docker บนทั้งสองระบบ ตามค่าเริ่มต้น Docker จะไม่สามารถใช้ได้ในที่เก็บเริ่มต้นของ Ubuntu 18.04 ดังนั้นคุณจะต้องเพิ่มพวกเขา.

ก่อนอื่นให้ติดตั้งแพ็คเกจที่จำเป็นด้วยคำสั่งต่อไปนี้:

apt-get install apt-transport-https ซอฟต์แวร์คุณสมบัติทั่วไป ca-certificate curl -y

ถัดไปเพิ่มที่เก็บ Docker ด้วยคำสั่งต่อไปนี้:

wget https://download.docker.com/linux/ubuntu/gpg
apt-key เพิ่ม gpg
เสียงสะท้อน "deb [arch = amd64] https://download.docker.com/linux/ubuntu ไบโอนิคเสถียร" | tee /etc/apt/sources.list.d/docker.list

ถัดไปอัพเดตที่เก็บและติดตั้ง Docker ด้วยคำสั่งต่อไปนี้:

apt-get update -y
apt-get install docker-ce -y

เมื่อการติดตั้งเสร็จสิ้นให้ตรวจสอบสถานะของนักเทียบท่าด้วยคำสั่งต่อไปนี้:

นักเทียบท่าสถานะ systemctl

คุณควรเห็นผลลัพธ์ต่อไปนี้:

docker.service – เอ็นจิ้น Docker Application Container
โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/docker.service; เปิดใช้งาน; ค่าที่ตั้งไว้ล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: เปิดใช้งาน (ทำงาน) ตั้งแต่พ 2019-05-01 15:08:45 UTC; 7 นาทีที่แล้ว
เอกสาร: https://docs.docker.com
PID หลัก: 2658 (นักเทียบท่า)
งาน: 8
CGroup: /system.slice/docker.service
└─ 2658 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

ติดตั้งคอนเทนเนอร์ Registry Docker

ก่อนอื่นคุณจะต้องติดตั้ง Registry container บนระบบเซิร์ฟเวอร์ของคุณ คุณสามารถทำได้โดยใช้คำสั่งต่อไปนี้:

นักเทียบท่าดึงรีจิสทรี

เมื่อดาวน์โหลดอิมเมจรีจิสตรีแล้วคุณควรเห็นผลลัพธ์ต่อไปนี้:

ใช้แท็กเริ่มต้น: ล่าสุด
ล่าสุด: การดึงจาก library / registryc
87736221ed0: ดึงเสร็จ
1cc8e0bb44df: ดึงเสร็จสมบูรณ์
54d33bcb37f5: ดึงเสร็จสมบูรณ์
e8afc091c171: ดึงเสร็จสมบูรณ์
b4541f6d3db6: ดึงเสร็จสมบูรณ์
สรุปข้อมูล: sha256: 3b00e5438ebd8835bcfa7bf5246445a6b57b9a50473e89c02ecc8e575be3ebb5
สถานะ: ดาวน์โหลดอิมเมจที่ใหม่กว่าสำหรับรีจิสตรี: ใหม่ล่าสุด

ถัดไปเริ่มต้นคอนเทนเนอร์ของรีจิสทรีด้วยคำสั่งต่อไปนี้:

นักเทียบท่า run -d -p 5000: 5000 –restart = always –name registry registry

คุณสามารถดูคอนเทนเนอร์รีจิสตรีที่กำลังรันด้วยคำสั่งต่อไปนี้:

นักเทียบท่า ps

คุณควรเห็นผลลัพธ์ต่อไปนี้:

รหัสภาพภาชนะบรรจุคำสั่งสร้างสถานะชื่อพอร์ต
รีจิสทรี 4912e461745f "/entrypoint.sh / etc …" ประมาณหนึ่งนาทีที่แล้วขึ้นประมาณ 0.0 นาที 0.05,000->รีจิสทรี 5000 / tcp

สร้างอิมเมจคอนเทนเนอร์ Docker บนระบบไคลเอ็นต์

เซิร์ฟเวอร์รีจิสตรีของคุณพร้อมใช้งานแล้ว ได้เวลาสร้างอิมเมจคอนเทนเนอร์ Docker บนระบบไคลเอ็นต์.

ขั้นแรกให้ล็อกอินเข้าสู่ระบบไคลเอ็นต์และสร้าง dockerfile เพื่อสร้างอิมเมจเว็บเซิร์ฟเวอร์ Nginx:

รูปภาพ mkdir
ภาพซีดี
นาโน dockerfile

เพิ่มบรรทัดต่อไปนี้:

จาก Ubuntu: 18.04
โครงการ LABEL ="รูปภาพเว็บเซิร์ฟเวอร์ Nginx"
ผู้ดูแล LABEL "[email protected]"
RUN \ a
pt-get update && \
apt-get install -y nginx && \
rm -rf / var / lib / apt / list / * && \
เสียงสะท้อน "ปิด \ ndaemon;" >> /etc/nginx/nginx.conf && \
chown -R www-data: www-data / var / lib / nginx
# กำหนดไดเรกทอรีติดตั้งได้.
ปริมาณ ["/ etc / Nginx / เว็บไซต์ที่เปิดใช้งาน", "/ etc / Nginx / ใบรับรอง", "/etc/nginx/conf.d", "/ var / log / Nginx", "/ var / www / html"]
# กำหนดไดเรกทอรีทำงาน WORKDIR / etc / nginx
# กำหนดคำสั่งเริ่มต้น CMD ["Nginx"]
# เปิดเผยพอร์ต.
เปิดเผย 80
เปิดเผย 443

บันทึกและปิดไฟล์ จากนั้นสร้างอิมเมจ Nginx โดยรันคำสั่งต่อไปนี้:

นักเทียบท่าสร้าง -t ubuntu: nginx .

หลังจากสร้างอิมเมจ Nginx สำเร็จคุณควรเห็นผลลัพธ์ต่อไปนี้:

—> bc6e61406108
ขั้นตอนที่ 5/9: VOLUME ["/ etc / Nginx / เว็บไซต์ที่เปิดใช้งาน", "/ etc / Nginx / ใบรับรอง", "/etc/nginx/conf.d", "/ var / log / Nginx", "/ var / www / html"]
—> ทำงานใน 30832b7ff816
การถอดคอนเทนเนอร์กลาง 30832b7ff816
—> 1940ec1c2225 ขั้นตอนที่ 6/9: WORKDIR / etc / nginx
—> ทำงานใน 88755ef2d7c8
การถอดคอนเทนเนอร์กลาง 88755ef2d7c8
—> 4fe930c96a73 ขั้นตอนที่ 7/9: CMD ["Nginx"]
—> ทำงานใน c8d492317d88
การลบคอนเทนเนอร์กลาง c8d492317d88
—> 3218acfd15f8 ขั้นตอนที่ 8/9: เปิดเผย 80
—> ทำงานใน 35921ef45db9 กำลังลบคอนเทนเนอร์ระดับกลาง 35921ef45db9
—> a6a299b86a6dStep 9/9: EXPOSE 443
—> ทำงานใน 755441cefe2f
การถอดคอนเทนเนอร์กลาง 755441cefe2f
—> 9be7dc6b0825
สร้างสำเร็จแล้ว 9be7dc6b0825
ติดแท็ก ubuntu: nginx สำเร็จ

ถัดไปคุณสามารถตรวจสอบภาพที่สร้างขึ้นด้วยคำสั่งต่อไปนี้:

ภาพนักเทียบท่า

คุณควรเห็นภาพ nginx ของคุณในผลลัพธ์ต่อไปนี้:

ขนาดของ ID ที่สร้างซ้ำของแท็ก RepOSITORY
ubuntu nginx 9be7dc6b0825 ประมาณหนึ่งนาทีก่อน 161MB
ubuntu 18.04 d131e0fa2585 4 วันที่ผ่านมา 102MB
รีจีสทรีล่าสุด f32a97de94e1 7 สัปดาห์ที่ผ่านมา 25.8MB

ถัดไปคุณจะต้องเปลี่ยนชื่อภาพ nginx ของคุณในรูปแบบ“ registryserver: portnumber / ชื่อภาพ: แท็ก”.

คุณสามารถทำได้ด้วยคำสั่งต่อไปนี้:

แท็กนักเทียบท่า ubuntu: เซิร์ฟเวอร์ nginx: 5000 / ubuntu: nginx

อัปโหลดอิมเมจ Nginx บน Private Registry Server

ตอนนี้คุณสามารถอัพโหลดอิมเมจ Nginx ที่สร้างขึ้นบน Private Registry Server โดยใช้คำสั่ง push:

เซิร์ฟเวอร์ดันนักเทียบท่า: 5000 / ubuntu: nginx

เมื่ออัปโหลดภาพสำเร็จแล้วคุณควรเห็นผลลัพธ์ต่อไปนี้:

พุชหมายถึงที่เก็บ [เซิร์ฟเวอร์: 5000 / ubuntu]
2e5us8en4s9d: ผลักดัน
l1is9e9d8j7e: ผลักดัน
nginx: สรุปข้อมูล: sha256: aa0d8fi49dir0d7rn33nee122b ขนาด: 1862

คุณยังสามารถดาวน์โหลดอิมเมจที่อัพโหลดจากรีจิสตรีเซิร์ฟเวอร์ด้วยคำสั่งต่อไปนี้:

เซิร์ฟเวอร์ pullererer: 5000 / ubuntu: nginx

ฉันหวังว่าคุณจะมีความรู้เพียงพอในการตั้งค่าเซิร์ฟเวอร์รีจิสตรี Docker ส่วนตัวของคุณบนเซิร์ฟเวอร์ที่ใช้งานจริง หากคุณกำลังมองหามือเทียบท่ามากขึ้นลองดูที่นี่ หลักสูตรออนไลน์.

Tags:

  • นักเทียบท่า

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map