ผู้เขียน หัวข้อ: การใช้งาน Docker เบื้องต้น  (อ่าน 30 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ ผู้ดูแลระบบ

  • ยิ้มวันละนิด จิตแจ่มใส
  • Administrator
  • *****
  • กระทู้: 171
  • จิตใจสงบ ชีวิตเป็นสุข
    • ดูรายละเอียด
    • ศูนย์คอมพิวเตอร์และเครือข่ายวารินชำราบ
การใช้งาน Docker เบื้องต้น
« เมื่อ: วันที่ 19 เมษายน 2019, เวลา 21:07:50 pm »
เริ่มต้นใช้งาน Docker
เริ่มจากเราต้องทำการติดตั้ง Docker กันก่อนครับ การติดตั้งก็ไม่ได้มีอะไรยุ่งยากเพียงแค่การดาวน์โหลด Package มาติดตั้ง เหมือนการติดตั้งโปรแกรมทั่วไปในคอมพิวเตอร์ ติดตั้งเพียงไม่กี่ขั้นตอนก็สามารถใช้งานได้เลย มีให้ติดตั้งทั้ง Mac, Windows, และ Linux มีวิธีติดตั้งตามลิงค์ด้านล่างนี้
  • Docker for Mac
  • Docker for Windows
    ถ้าหากใช้ Windows รุ่น Home จะไม่สามารถติดตั้ง Docker for Windows ได้ (เนื่องจากต้องใช้ Microsoft Hyper-V ในการรัน)
    ให้เปลี่ยนไปติดตั้ง Docker Toolbox แทน
  • Docker on Linux
คำสั่ง Docker เบื้องต้น
สำหรับการใช้งาน Docker นั้นจะต้องใช้คำสั่งในการสั่งงาน ผ่าน Command Line
เมื่อติดตั้งเสร็จแล้ว ให้เปิดโปรแกรม Terminal หรือ cmd แล้วมาเริ่มกันที่การใช้คำสั่ง Docker กันเลยครับ
หลังจากติดตั้ง docker แล้ว ลองตรวจสอบเลขเวอร์ชั่นกันก่อนเลย ด้วยคำสั่งนี้
docker --version
หรือ
docker -v
เริ่มจากการ Pull Docker Image
ก่อนจะทำการสร้างและรัน Docker container ลองค้นหาในDocker Hub ก่อนครับว่ามีอะไรให้เราใช้บ้างเมื่อเจอ Docker image ที่ต้องการ สามารถโหลด Docker image ที่ต้องการด้วยคำสั่งด้านล่างนี้
docker pull
ตัวอย่าง : ในที่นี้จะโหลด Docker image ที่ชื่อว่า nginx ให้ใช้คำสั่ง
docker pull nginx
หรือ 
docker pull nginx:stable
หรือ 
docker pull nginx:1.10
เราสามารถเลือกเวอร์ชั่นของ image ได้ด้วยการระบุ tag ลงไป หากไม่ระบุ tag ก็จะเป็นการเลือกใช้เวอร์ชั่นล่าสุด เช่น nginx ก็จะมี Docker Image ให้เลือกหลายๆเวอร์ชั่น nginx:stable, nginx:1.10
การสร้าง Container
มาถึงขั้นตอนสำคัญ ก็คือการสร้าง Container โดยใช้คำสั่ง docker run เพื่อสร้าง Docker Container
docker run --name demo -d -p 8080:80 -v /home/me:/home/docker image
ตัวอย่าง
docker run --name myweb -p 8080:80 -v /myweb:/var/www/html -d nginx
คำสั่งอาจจะดูยาวหน่อย เพราะคำสั่ง docker run จะต้องมีการใส่ option เข้าไปด้วย
--name demo คือ การตั้งชื่อให้กับ container โดยเมื่อเราใช้คำสั่ง start stop หรือ rm สามารถสั่งงาน container ได้จากชื่อ container ได้เช่นกัน
-d เป็นการสั่ง contianer ให้รันแบบ background
-v /home/me:/home/docker คือการ mount volume หรือเป็นการแชร์ไฟล์ระหว่าง container กับเครื่องเราให้สามารถเรียกใช้ไฟล์ร่วมกันได้
-p 8080:80 เป็นการ map port ระหว่างเครื่อง และ container เช่น อย่าง container ของ nginx จะใช้ port 80 เป็น default หากต้องการให้เครื่องใช้ port 8080 เราก็กำหนดให้เป็น -p 8080:80
image ชื่อของ Docker image ที่เราต้องการเรียกใช้ (จากตัวอย่างจะใช้ nginx เป็น image)
เมื่อมีการสั่ง docker run จะมีตรวจสอบว่ามี image นั้นอยู่ในเครื่องหรือไม่ ถ้าหากไม่พบ Docker ก็จะทำการ Pull Image นั้นๆจาก Docker Hub ลงมาให้
การใส่ Option ต่างๆสำหรับแต่ละ Image จะไม่เหมือนกัน มีการ map port หรือ mount volume ต่างกัน โดยเราสามารถดูได้จากคำอธิบายของแต่ละ Image ได้ในเว็บ hub.docker.com
Port ที่เรากำหนดด้วย -p สามารถเข้าถึงได้จาก IP Address ของเครื่อง (localhost, 127.0.o.1 หรือ IP ในวงแลน) ตามด้วย Port ที่เรากำหนดไว้ ในที่นี้คือ http://localhost:8080/ (ถ้าใช้ Docker Toolbox จะเป็น IP : 192.168.99.100 โดย default)
โดย Container ที่เราลองรันอยู่เป็น Web Server เพราะฉะนั้นจะต้องมาลองเปิดดูใน browser พบว่าสามารถใช้งานได้แล้วตรวจสอบสถานะ Container
เมื่อใช้คำสั่ง docker run เพื่อสร้างและรัน docker แล้ว
ลองตรวจสอบว่ามี Container ตัวไหนรันอยู่บ้าง
docker ps
ตัวอย่างการใช้คำสั่ง docker psจะสังเกตได้ว่ามี Container ที่ชื่อว่า myweb กำลังทำงานอยู่ โดยทุกๆ Container ก็จะมี Container ID เป็นของตัวเอง และเราสามารถสั่งงาน start, stop, rm ได้ด้วยการเรียกผ่าน Container IDหรือถ้าหากต้องการดูรายการ container ทั้งหมด ไม่ว่าจะเป็น container ที่กำลังรันอยู่และหยุดทำงานไปแล้วโดยใช้คำสั่ง
docker ps -a
หยุด Container
เมื่อต้องการให้ container หยุดทำงานจะต้องใช้คำสั่ง docker stop ตามด้วย Container ID หรือ Name ที่ใช้อ้างอิง Container
docker stop a715
ในที่นี้จะใช้ Container ID ในการอ้างอิงเพื่อสั่งหยุด contianer ที่ต้องการ
(การเรียกใช้ Container ID ไม่จำเป็นต้องใส่ให้ครบทุกตัวอักษรก็ได้)
ลบ Container
เมื่อไม่ใช้งาน Container นั้นแล้ว ไม่อยากจะใช้ต่อสามารถลบ Container ได้ด้วยคำสั่ง
docker rm a715
จะใช้คำสั่งนี้ได้ก็ต่อเมื่อ Container นั้นหยุดทำงานไปแล้ว
ดู Docker Image ทั้งหมด
docker images
การแสดงผลหลังจากใช้งานคำสั่ง docker imagesคำสั่งลบ Image
เมื่อต้องการลบ image จะต้องแน่ใจก่อนว่ามี container ไหนเรียกใช้ image นี้อยู่รึเปล่าถ้าไม่มีการเรียกใช้งานก็สามารถสั่งลบ image ด้วยคำสั่ง docker rmi ตามด้วย Image หรือ Image name ที่อ้างอิงกับ Image นั้นๆ
docker rmi c07e
หรือ
docker rmi
nginx:stable-alpine
สำหรับคำสั่ง Docker เบื้องต้นที่ใช้กันอยู่บ่อยๆก็มีประมาณนี้ยังเหลือคำสั่งอีกมากมาย ซึ่งอาจจะพูดถึงในตอนต่อไปๆ ขอให้สนุกกับการใช้งาน Docker ครับ
cr: https://medium.com/thothzocial-engineering/