Docker คือซอฟต์แวร์ที่เข้ามาช่วยแก้ปัญหาในกระบวนการพัฒนาโปรแกรมหรือซอฟต์แวร์ซึ่งบางทีมีการทำงานเป็นทีมหลายคนจะมีความแตกต่างกันของระบบปฏิบัติการและเวอร์ชันจึงทำให้การพัฒนานนั้นจะเกิดปัญหา Error ที่ต่างกัน วิธีการทำงานของ Docker คือการนำสภาพแวดล้อมต่างๆในการพัฒนามารวมไว้ด้วยกันเรียกว่า Container แต่มีข้อกำหนดว่าแต่ละ Container สามารถใช้งานคำสั่งได้เพียงคำสั่งเดียว ข้อมูลเพิ่มเติมของ Docker สามารถอ่านได้ที่ https://www.docker.com/whatisdocker
เริ่มติดตั้ง Docker ด้วยคำสั่ง
sudo apt-get update
sudo apt-get install docker.io
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
source /etc/bash_completion.d/docker.io
ทดสอบการทำงานของ Docker ด้วยคำสั่ง
sudo docker run -i -t ubuntu /bin/bash
เพื่อทำการสั่งให้ Docker ทำงาน โดยการทำงานครั้งแรกหลังจากติดตั้ง Docker เสร็จนั้น Docker จะทำการดาวน์โหลดไฟล์ Ubuntu image มาไว้ใน Docker ก่อนถ้าการติดตั้งถูกต้องจะมีการดาวน์โหลด Ubuntu image ดังภาพ
เมื่อทำการดาวน์โหลดเสร็จแล้วก็สามารถเข้าใช้งาน Ubuntu ได้โดยอัตโนมัติสังเกตชื่อบัญชีผู้ใช้และชื่อเครื่องจะเปลี่ยนไปดังภาพ
ทดสอบการใช้งาน Ubuntu ใน Container ด้วยคำสั่งพื้นฐานเช่น
ls –al
ออกจาก Ubuntu ที่อยู่ใน Docker ด้วยคำสั่ง
exit
เข้าใช้งานอีกครั้งด้วยคำสั่งเดิมคือ
sudo docker run -i -t ubuntu /bin/bash
จะสามารถเข้าใข้งาน Ubuntu ที่อยู่ใน Docker ได้ทันที
ออกจาก Ubuntu ใน Docker ด้วยคำสั่ง
exit
มาลองสร้างและเล่นกับ Container แบบง่ายๆกัน
สั่งให้ Docker ทำงานด้วยคำสั่ง (สั่ง2ครั้ง)
sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
คำสั่งนี้คือการสั่งให้ Docker ทำการัน Container และนำคำสั่งไปประมวลผลเป็นแบบ Background Process (-d) โดยให้ประมวลผลอยู่บนระบบปฏิบัติการ Ubuntu เวอร์ชัน 14.04 (ubuntu:14.04) ด้วยคำสั่งประเภท .sh ที่ให้ทำการแสดงผล hello world แบบไม่มีจุดสิ้นสุด (/bin/sh -c “while true; do echo hello world; sleep 1; done”)
ดูการทำงานของ Docker ด้วยคำสั่ง
sudo docker ps
จะพบกับรายการ การทำงานของ Docker ที่มีการทำงานอยู่ 2 Container โดยมีรายละเอียดดังนี้
- CONTAINER ID : หมายเลขของ Container
- IMAGE : ระบบปฏิบัติการและเวอร์ชัน
- COMMAND : คำสั่งที่ทำการประมวลผลอยู่
- CREATED : เวลาที่ทำการสร้าง
- STATUS : สถานะการทำงานของ Container และจำนวนเวลาที่ Up
- PORT : หมายเลข PORT ที่เปิดใช้งาน
- NAMES : ชื่อของ Container
ตรวจสอบ log การทำงานของ Container ด้วยคำสั่ง
sudo docker logs NAMES
โดยการเปลี่ยนค่า NAMES เป็นชื่อ Container ที่ต้องการ เช่น
sudo docker logs cranky_kowalevski
สั่งหยุดการของ Container ด้วยคำสั่ง
sudo docker stop NAMES
โดยการเปลี่ยนค่า NAMES เป็นชื่อ Container ที่ต้องการ เช่น
sudo docker stop cranky_kowalevski
ตรวจสอบ Container ด้วยคำสั่ง
sudo docker ps
จะพบว่า Container ที่ทำงานอยู่เหลือเพียง Container เดียว
วิธีการดาวน์โหลดไฟล์ Image อื่นมาใช้งานบน Docker ใช้คำสั่ง
sudo docker pull image
โดยทำการเปลี่ยนค่า image เป็น Image ที่ต้องการเช่น
sudo docker pull centos:centos6
รายการ Image สามารถดูได้ที่ https://registry.hub.docker.com
เรียกดู Image ที่มีอยู่ในเครื่องด้วยคำสั่ง
sudo docker images
คำสั่งในการลบ Image ใช้คำสั่ง
sudo docker rmi images
โดยเปลี่ยนค่า Image เป็นชื่อ Image ที่ต้องการลบเช่น
sudo docker rmi centos:centos6