Android

วิธีการติดตั้งและใช้นักเทียบท่าบน centos 7

Docker Tutorial in Hindi

Docker Tutorial in Hindi

สารบัญ:

Anonim

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

ในบทช่วยสอนนี้เราจะอธิบายวิธีการติดตั้ง Docker CE บน CentOS 7 และสำรวจแนวคิดและคำสั่งพื้นฐานของ Docker

ข้อกำหนดเบื้องต้น

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

  • เซิร์ฟเวอร์ CentOS 7 คุณเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ใช่รูทด้วยสิทธิ์ sudo คุณตรวจสอบคู่มือนี้เกี่ยวกับวิธีการสร้างผู้ใช้ sudo ใหม่

ติดตั้ง Docker บน CentOS

แม้ว่าแพ็คเกจนักเทียบท่าจะพร้อมใช้งานในที่เก็บ CentOS 7 อย่างเป็นทางการ แต่อาจไม่ใช่รุ่นล่าสุดเสมอ แนวทางที่แนะนำคือการติดตั้ง Docker จากที่เก็บข้อมูลของ Docker

ในการติดตั้ง Docker บนเซิร์ฟเวอร์ CentOS 7 ของคุณทำตามขั้นตอนด้านล่าง:

  1. เริ่มต้นด้วยการอัพเดตแพ็กเกจระบบของคุณและติดตั้งการพึ่งพาที่จำเป็น:

    sudo yum update sudo yum install yum-utils device-mapper-persistent-data lvm2

    ถัดไปรันคำสั่งต่อไปนี้ซึ่งจะเพิ่มพื้นที่เก็บข้อมูลที่เสถียร Docker ให้ระบบของคุณ:

    sudo yum-config-manager --add-repo

    ตอนนี้ที่เปิดใช้งานที่เก็บ Docker ให้ติดตั้ง Docker CE (Community Edition) เวอร์ชันล่าสุดโดยใช้ yum โดยพิมพ์:

    sudo yum install docker-ce

    เมื่อติดตั้งแพ็กเกจ Docker แล้วให้เริ่ม Docker daemon และเปิดใช้งานโดยอัตโนมัติเมื่อเริ่มต้นระบบ:

    sudo systemctl start docker sudo systemctl enable docker

    ในการตรวจสอบว่าบริการ Docker ใช้งานอยู่ประเภท:

    sudo systemctl status docker

    ผลลัพธ์ควรมีลักษณะดังนี้:

    ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml

    ในขณะที่เขียนรุ่นที่เสถียรปัจจุบันของ Docker คือ 18.06.1 เพื่อพิมพ์ประเภทรุ่น Docker:

    docker -v

    Docker version 18.06.1-ce, build e68fc7a

การดำเนินการคำสั่ง Docker โดยไม่มี Sudo

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

sudo usermod -aG docker $USER

$USER เป็นตัวแปรสภาพแวดล้อมที่เก็บชื่อผู้ใช้ของคุณ

ออกจากระบบและกลับเข้าสู่ระบบเพื่อให้การเป็นสมาชิกกลุ่มถูกรีเฟรช

ในการตรวจสอบว่านักติดตั้งติดตั้งเรียบร้อยแล้วและคุณสามารถเรียกใช้คำสั่งนักเทียบท่าได้โดยไม่ต้องใช้ sudo ให้ออกคำสั่งต่อไปนี้ซึ่งจะดาวน์โหลดอิมเมจทดสอบรันในที่เก็บพิมพ์ข้อความ“ Hello from Docker” และออก:

docker container run hello-world

ผลลัพธ์ควรมีลักษณะดังนี้:

Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.

อินเตอร์เฟสบรรทัดคำสั่งของนักเทียบท่า

ตอนนี้เรามีการติดตั้ง Docker ที่ใช้งานได้แล้วเรามาดูไวยากรณ์พื้นฐานของ Docker CLI กัน

บรรทัดคำสั่งนักเทียบท่าใช้แบบฟอร์มต่อไปนี้:

docker

คุณสามารถแสดงรายการคำสั่งทั้งหมดที่มีอยู่โดยพิมพ์ docker โดยไม่มีพารามิเตอร์:

docker

docker --help

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

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

Docker Hub เป็นบริการรีจิสตรีบนคลาวด์ซึ่งมีฟังก์ชั่นอื่น ๆ ที่ใช้สำหรับเก็บอิมเมจ Docker ในที่เก็บข้อมูลสาธารณะหรือส่วนตัว

ในการค้นหาที่เก็บ Docker Hub สำหรับรูปภาพให้ใช้คำสั่งย่อย search ตัวอย่างเช่นหากต้องการค้นหาอิมเมจ CentOS ให้เรียกใช้:

docker search centos

ผลลัพธ์ควรมีลักษณะดังนี้:

NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 ansible/centos7-ansible Ansible on Centos7 109 jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 tutum/centos Simple CentOS docker image with SSH access 39

ในขณะที่คุณสามารถดูผลการค้นหาพิมพ์ตารางที่มีห้าคอลัมน์, ชื่อ, คำ DESCRIPTION , STARS , อย่างเป็น OFFICIAL และ AUTOMATED รูปภาพอย่างเป็นทางการเป็นภาพที่นักเทียบท่าพัฒนาร่วมกับพันธมิตรต้นน้ำ

หากเราต้องการดาวน์โหลดโครงสร้างอย่างเป็นทางการของ CentOS 7 เราสามารถทำได้โดยใช้คำสั่งย่อย image pull :

docker image pull centos

Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest

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

docker image ls

ผลลัพธ์ควรมีลักษณะดังนี้:

REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB

หากด้วยเหตุผลบางอย่างที่คุณต้องการลบภาพคุณสามารถทำได้ด้วยคำสั่งย่อย image rm :

docker image rm centos

Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

ตู้คอนเทนเนอร์ Docker

ตัวอย่างของภาพที่เรียกว่าภาชนะ คอนเทนเนอร์หมายถึงรันไทม์สำหรับแอปพลิเคชันกระบวนการหรือบริการเดียว

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

เราสามารถเริ่มหยุดลบและจัดการคอนเทนเนอร์ได้ด้วยคำสั่งย่อย docker docker container

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

docker container run centos

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

สวิทช์ -it ช่วยให้เราสามารถโต้ตอบกับภาชนะบรรจุผ่านทางบรรทัดคำสั่ง วิธีเริ่มประเภทคอนเทนเนอร์แบบโต้ตอบ:

docker container run -it centos /bin/bash

ดังที่คุณเห็นจากผลลัพธ์เมื่อคอนเทนเนอร์เริ่มทำงานพร้อมรับคำสั่งจะถูกเปลี่ยนซึ่งหมายความว่าตอนนี้คุณกำลังทำงานจากภายในคอนเทนเนอร์:

#

หากต้องการแสดงรายการคอนเทนเนอร์ที่ใช้งาน: ให้พิมพ์:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli หากคุณไม่มีคอนเทนเนอร์ที่รันอยู่เอาต์พุตจะว่างเปล่า

หากต้องการดูทั้งภาชนะบรรจุที่กำลังทำงานและหยุดทำงานให้ส่งผ่านสวิตช์ -a :

docker container ls -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon

หากต้องการลบหนึ่งคอนเทนเนอร์ขึ้นไปเพียงแค่คัดลอก ID คอนเทนเนอร์ (หรือ ID) จากด้านบนและวางไว้หลังคำสั่งย่อย container rm :

docker container rm c55680af670c

ข้อสรุป

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

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

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