Docker Tutorial in Hindi
สารบัญ:
- ข้อกำหนดเบื้องต้น
- ติดตั้ง Docker บน CentOS
- การดำเนินการคำสั่ง Docker โดยไม่มี Sudo
- อินเตอร์เฟสบรรทัดคำสั่งของนักเทียบท่า
- รูปภาพนักเทียบท่า
- ตู้คอนเทนเนอร์ Docker
- ข้อสรุป
นักเทียบท่าเป็นเทคโนโลยีการทำคอนเทนเนอร์ที่ให้คุณสร้างทดสอบและปรับใช้แอปพลิเคชั่นได้อย่างรวดเร็วเหมือนกับคอนเทนเนอร์แบบพกพาและแบบพอเพียงซึ่งสามารถทำงานได้ทุกที่
ในบทช่วยสอนนี้เราจะอธิบายวิธีการติดตั้ง Docker CE บน CentOS 7 และสำรวจแนวคิดและคำสั่งพื้นฐานของ Docker
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการกับบทช่วยสอนนี้ตรวจสอบให้แน่ใจว่าได้ทำตามข้อกำหนดเบื้องต้นต่อไปนี้แล้ว:
- เซิร์ฟเวอร์ CentOS 7 คุณเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่ใช่รูทด้วยสิทธิ์ sudo คุณตรวจสอบคู่มือนี้เกี่ยวกับวิธีการสร้างผู้ใช้ sudo ใหม่
ติดตั้ง Docker บน CentOS
แม้ว่าแพ็คเกจนักเทียบท่าจะพร้อมใช้งานในที่เก็บ CentOS 7 อย่างเป็นทางการ แต่อาจไม่ใช่รุ่นล่าสุดเสมอ แนวทางที่แนะนำคือการติดตั้ง Docker จากที่เก็บข้อมูลของ Docker
ในการติดตั้ง Docker บนเซิร์ฟเวอร์ CentOS 7 ของคุณทำตามขั้นตอนด้านล่าง:
-
เริ่มต้นด้วยการอัพเดตแพ็กเกจระบบของคุณและติดตั้งการพึ่งพาที่จำเป็น:
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 ประกอบด้วยเลเยอร์หลายชุดซึ่งแสดงคำแนะนำใน 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 แบบหลายคอนเทนเนอร์ได้
บทช่วยสอนนี้แทบจะไม่ทำให้พื้นผิวของระบบนิเวศนักเทียบท่าแทบจะเป็นรอย ในบทความถัดไปของเราเราจะดำดิ่งลงสู่ด้านอื่น ๆ ของนักเทียบท่า หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับนักเทียบท่าโปรดดูเอกสารประกอบของนักเทียบท่าอย่างเป็นทางการ
กำหนดค่า magento 2 เพื่อใช้วานิชบน centos 7

ความเร็วหน้ามีความสำคัญต่อความสำเร็จของร้านค้าออนไลน์ของคุณ บทช่วยสอนนี้ครอบคลุมขั้นตอนที่เกี่ยวข้องในการกำหนดค่า Magento 2 เพื่อใช้ Varnish เป็นโซลูชันแคชแบบเต็มหน้า
วิธีสร้างผู้ใช้ sudo บน centos

คำสั่ง sudo ถูกออกแบบมาเพื่อให้ผู้ใช้สามารถรันโปรแกรมด้วยสิทธิ์ความปลอดภัยของผู้ใช้รายอื่นโดยค่าเริ่มต้นผู้ใช้รูท ในคู่มือนี้เราจะแสดงวิธีสร้างผู้ใช้ใหม่ด้วยสิทธิ์ sudo บน CentOS
วิธีเพิ่มและลบผู้ใช้บน centos 7

การรู้วิธีเพิ่มและลบผู้ใช้เป็นหนึ่งในทักษะพื้นฐานที่ผู้ใช้ Linux ควรรู้ ในบทช่วยสอนนี้เราจะอธิบายวิธีเพิ่มและลบผู้ใช้บนระบบ CentOS 7