วิธีการติดตั้งและใช้ Docker บน Ubuntu 20.04
นักเทียบท่าเป็นแพลตฟอร์มโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดสำหรับนักพัฒนาและผู้ดูแลระบบในการสร้าง เรียกใช้ และแชร์แอปพลิเคชันกับคอนเทนเนอร์ การวางคอนเทนเนอร์ (การใช้คอนเทนเนอร์เพื่อปรับใช้แอปพลิเคชัน) กำลังได้รับความนิยมเนื่องจากคอนเทนเนอร์มีความยืดหยุ่น น้ำหนักเบา พกพาได้ เชื่อมต่อแบบหลวมๆ ปรับขนาดได้ และปลอดภัยยิ่งขึ้น
บทความนี้เป็นจุดเริ่มต้นที่ดีสำหรับผู้เริ่มต้นในการเรียนรู้วิธีติดตั้งและใช้ Docker บนระบบ Ubuntu 20.04 Linux พร้อมด้วยคำสั่งพื้นฐานบางอย่าง สำหรับคู่มือนี้ เราจะติดตั้ง Docker Community Edition (CE)
ข้อกำหนดเบื้องต้น:
- การติดตั้งเซิร์ฟเวอร์ Ubuntu 20.04
- ผู้ใช้ที่มีสิทธิ์เรียกใช้คำสั่ง sudo
การติดตั้ง Docker บน Ubuntu 20.04
หากต้องการใช้ Docker เวอร์ชันล่าสุด เราจะติดตั้งจากที่เก็บ Docker อย่างเป็นทางการ ดังนั้น ให้เริ่มต้นด้วยการเพิ่มคีย์ GPG สำหรับพื้นที่เก็บข้อมูล Docker อย่างเป็นทางการให้กับระบบของคุณ หลังจากนั้นให้เพิ่มการกำหนดค่าของพื้นที่เก็บข้อมูลไปยังแหล่งที่มา APT ด้วย คำสั่งต่อไปนี้
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
ตอนนี้อัปเดตแคชแพ็กเกจ APT เพื่อรวมแพ็คเกจ Docker ใหม่เข้ากับระบบโดยใช้คำสั่งต่อไปนี้
sudo apt update
จากนั้น ติดตั้งแพ็คเกจ Docker ตามที่แสดง
sudo apt install docker-ce
ในระหว่างกระบวนการติดตั้งแพ็คเกจ นักเทียบท่า โปรแกรมติดตั้งแพ็คเกจจะทริกเกอร์ systemd (ผู้จัดการระบบและบริการ) เพื่อเริ่มและเปิดใช้งานบริการนักเทียบท่าโดยอัตโนมัติ การใช้คำสั่งต่อไปนี้เพื่อยืนยันว่าบริการนักเทียบท่าทำงานอยู่และเปิดใช้งานเพื่อเริ่มต้นโดยอัตโนมัติเมื่อเริ่มต้นระบบ ตรวจสอบสถานะด้วย:
sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker
มีคำสั่ง systemctl อื่นๆ อีกหลายคำสั่งสำหรับจัดการและควบคุมบริการนักเทียบท่าซึ่งรวมถึงคำสั่งต่อไปนี้:
sudo systemctl stop docker #stop the docker service
sudo systemctl start docker #start the docker service
sudo systemctl restart docker #restart the docker service
หากต้องการตรวจสอบเวอร์ชันของ Docker CE ที่ติดตั้งบนระบบของคุณ ให้รันคำสั่งต่อไปนี้:
docker version
คุณสามารถดูคำสั่งการใช้งานนักเทียบท่าที่มีอยู่ได้โดยการรันคำสั่งนักเทียบท่าโดยไม่มีตัวเลือกหรืออาร์กิวเมนต์ใดๆ:
docker
จัดการ Docker ในฐานะผู้ใช้ที่ไม่ใช่รูทด้วยคำสั่ง sudo
ตามค่าเริ่มต้น Docker daemon จะเชื่อมโยงกับซ็อกเก็ต UNIX (แทนที่จะเป็นพอร์ต TCP) ซึ่งเป็นของรูทผู้ใช้ ดังนั้น Docker daemon จะทำงานในฐานะผู้ใช้รูทเสมอ และในการรันคำสั่ง docker คุณจะต้องใช้ sudo
นอกจากนี้ ในระหว่างการติดตั้งแพ็คเกจ Docker จะมีการสร้างกลุ่มชื่อ docker
เมื่อ นักเทียบท่า daemon เริ่มทำงาน มันจะสร้างซ็อกเก็ต UNIX ที่สมาชิกของกลุ่ม นักเทียบท่า เข้าถึงได้ (ซึ่งให้สิทธิ์เทียบเท่ากับผู้ใช้รูท)
หากต้องการเรียกใช้คำสั่ง docker โดยไม่มี sudo ให้เพิ่มผู้ใช้ที่ไม่ใช่รูททั้งหมดที่ควรจะเข้าถึง docker ในกลุ่ม docker ดังนี้ ในตัวอย่างนี้ คำสั่งจะเพิ่มผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน ($USER)
หรือชื่อผู้ใช้ให้กับกลุ่มนักเทียบท่า:
sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username
หากต้องการเปิดใช้งานการเปลี่ยนแปลงในกลุ่ม ให้รันคำสั่งต่อไปนี้:
newgrp docker
groups
จากนั้น ตรวจสอบว่าคุณสามารถเรียกใช้คำสั่ง นักเทียบท่า โดยไม่ต้องใช้ sudo คำสั่งต่อไปนี้จะดาวน์โหลดอิมเมจทดสอบและรันในคอนเทนเนอร์ เมื่อคอนเทนเนอร์ทำงาน คอนเทนเนอร์จะพิมพ์ข้อความแสดงข้อมูลและออก นี่เป็นอีกวิธีหนึ่งในการตรวจสอบว่าการติดตั้งของคุณทำงานได้ดีหรือไม่
docker run hello-world
การทำงานกับ Docker Images
รูปภาพ นักเทียบท่า เป็นไฟล์เทมเพลตแบบอ่านอย่างเดียวพร้อมคำแนะนำในการสร้างคอนเทนเนอร์ นักเทียบท่า คุณสามารถสร้างรูปภาพที่กำหนดเองหรือใช้เฉพาะรูปภาพที่สร้างโดยผู้อื่นและเผยแพร่ใน Docker Hub ซึ่งเป็นไลบรารีและชุมชนที่ใหญ่ที่สุดในโลกสำหรับคอนเทนเนอร์อิมเมจ
คุณสามารถค้นหารูปภาพ centos
ใน Docker Hub ด้วยคำสั่งต่อไปนี้:
docker search centos
หากต้องการดาวน์โหลดรูปภาพในเครื่อง ให้ใช้ คำสั่ง pull ตัวอย่างนี้แสดงวิธีการดาวน์โหลดรูปภาพอย่างเป็นทางการของ centos
docker pull centos
เมื่อการดาวน์โหลดเสร็จสิ้น คุณสามารถแสดงรายการอิมเมจที่มีอยู่ในระบบภายในของคุณได้
docker images
หากคุณไม่ต้องการอิมเมจอีกต่อไป คุณสามารถลบอิมเมจออกจากระบบของคุณได้
docker rmi centos
OR
docker rmi centos:latest #where latest is the tag
การเรียกใช้และการจัดการคอนเทนเนอร์ Docker
คอนเทนเนอร์ นักเทียบท่า เป็นกระบวนการที่ทำงานบน Linux และใช้เคอร์เนลของเครื่องโฮสต์ร่วมกับคอนเทนเนอร์อื่นๆ เกี่ยวกับอิมเมจ Docker คอนเทนเนอร์เป็นเพียงอิมเมจที่ทำงานอยู่
หากต้องการเริ่มต้นคอนเทนเนอร์ตามอิมเมจ centos
ใหม่ของคุณ ให้รันคำสั่งต่อไปนี้โดยที่ “centos ”
คือชื่ออิมเมจในเครื่องและ “cat /etc/centos-release ” คือคำสั่งให้รันในคอนเทนเนอร์:
docker run centos cat /etc/centos-release
คอนเทนเนอร์รันกระบวนการแยกซึ่งแยกออกจากกันโดยมีตัวมันเอง: ระบบไฟล์ ระบบเครือข่าย และแผนผังกระบวนการแยกแยกจากโฮสต์ โปรดทราบว่าคุณสามารถจัดการคอนเทนเนอร์ได้โดยใช้ ID คำนำหน้า ID หรือชื่อของคอนเทนเนอร์ดังที่แสดงด้านล่าง กระบวนการคอนเทนเนอร์ข้างต้นจะออกหลังจากคำสั่งรัน
หากต้องการแสดงรายการคอนเทนเนอร์ Docker ให้ใช้คำสั่ง docker ps ดังต่อไปนี้ ใช้แฟล็ก -l
เพื่อแสดงคอนเทนเนอร์ที่สร้างขึ้นล่าสุดในทุกสถานะ:
docker ps
OR
docker ps -l
หากต้องการแสดงคอนเทนเนอร์ทั้งหมดรวมถึงคอนเทนเนอร์ที่ออกแล้ว ให้ใช้แฟล็ก -a
docker ps -a
คุณยังเริ่มคอนเทนเนอร์ได้โดยใช้รหัสคอนเทนเนอร์หลังจากที่ออกจากคอนเทนเนอร์แล้ว ตัวอย่างเช่น ในคำสั่งก่อนหน้า ID คอนเทนเนอร์ของเราคือ 94c35e616b91 เราสามารถเริ่มคอนเทนเนอร์ได้ตามที่แสดง (โปรดทราบว่ามันจะรันคำสั่งและออก):
docker start 94c35e616b91
หากต้องการหยุดคอนเทนเนอร์ที่ทำงานอยู่โดยใช้รหัส ให้ใช้ คำสั่งหยุด ตามที่แสดง
docker stop 94c35e616b91
นักเทียบท่า ยังช่วยให้คุณสามารถกำหนดชื่อให้กับคอนเทนเนอร์ได้โดยใช้ตัวเลือก --name
เมื่อใช้งาน
docker run --name my_test centos cat /etc/centos-release
docker ps -l
ตอนนี้คุณสามารถใช้ชื่อคอนเทนเนอร์เพื่อจัดการ (เริ่ม หยุด สถิติ ลบ ฯลฯ) คอนเทนเนอร์ได้:
docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test
การเรียกใช้เซสชันแบบโต้ตอบใน Docker Container
หากต้องการเปิดใช้เซสชันเชลล์แบบโต้ตอบในคอนเทนเนอร์เพื่อให้คุณสามารถรันคำสั่งภายในคอนเทนเนอร์ได้ ให้รันคำสั่งต่อไปนี้:
docker run --name my_test -it centos
ในคำสั่งข้างต้น สวิตช์ -it
จะบอก Docker ให้จัดสรร pseudo-TTY ที่เชื่อมต่อกับ stdin ของคอนเทนเนอร์ ดังนั้นจะสร้าง bash shell แบบโต้ตอบในคอนเทนเนอร์
คุณสามารถออกได้โดยออกคำสั่ง exit ดังที่แสดง
exit
หากคุณไม่ต้องการออก คุณสามารถแยกออกจากคอนเทนเนอร์และปล่อยให้มันทำงานต่อไปได้ หากต้องการทำเช่นนั้น ให้ใช้ลำดับคีย์ CTRL+p
จากนั้น CTRL+q
คุณสามารถเชื่อมต่อกลับไปยังคอนเทนเนอร์ได้โดยใช้คำสั่ง แนบ ซึ่งจะแนบสตรีมอินพุต เอาต์พุต และข้อผิดพลาดมาตรฐานในเครื่องเข้ากับคอนเทนเนอร์ที่ทำงานอยู่:
docker attach my_test
นอกจากนี้ คุณสามารถเริ่มคอนเทนเนอร์ในโหมดเดี่ยวได้โดยใช้แฟล็ก -d
จากนั้นใช้คำสั่ง แนบ เพื่อแนบสตรีมอินพุต เอาต์พุต และข้อผิดพลาดมาตรฐานของเทอร์มินัลเข้ากับคอนเทนเนอร์ที่ทำงานอยู่:
docker run --name my_test -d -it centos
docker attach my_test
สุดท้ายแต่ไม่ท้ายสุด คุณสามารถหยุดคอนเทนเนอร์ที่ทำงานอยู่จากเซสชันโฮสต์ได้โดยการรันคำสั่งต่อไปนี้:
docker kill my_test
นั่นคือทั้งหมด! ในคู่มือนี้ เราได้กล่าวถึงวิธีการติดตั้งและใช้ Docker CE ใน Ubuntu 20.04 Linux หากคุณมีคำถามใดๆ โปรดใช้แบบฟอร์มคำติชมด้านล่างเพื่อสอบถามเรา