Spring boot & Docker EP.2–คำสั่ง docker พื้นฐาน

Thirajade Lekkunlawat
Grean Developers Family
2 min readJan 23, 2019

สำหรับ EP.2 นี้ก็จะมาอธิบายแค่ คำสั่งพื้นฐาน Docker ที่จำเป็นจะต้องใช้เนี่ยแหล่ะครับ

1. Build image — สร้าง Image จาก Dockerfile

ที่ใช้ build image ของ springboot ก็น่าจะอันนี้แหล่ะ

docker build --tag=spring-boot-application:base .

สำหรับ tag เราจะใส่เป็นอะไรก็ได้นะ ของผมใส่เป็น spring-boot-application:base ไปก่อน base นี่คือส่วนใหญ่เขาน่าจะใส่เป็นเวอร์ชั่นสะมากกว่า ถ้าไม่ใส่เหมือนจะเป็น latest ให้

ส่วน . ด้านหลังก็คือ directory ปัจจุบันนั่นแหล่ะที่จะทำการ build

2. Run container — รัน container จาก image

การ run container จาก image เนี่ย จะทำจริงๆมันก็ง่าย แต่ที่เล่าไปใน EP ที่แล้วว่ามันต้อง setup ตอนรันให้ container มันเชื่อมกันจะยังไม่พูดถึงละกันนะ เดี๋ยวไว้ใน EP อื่นๆได้ทำก็จะเห็น

ส่วนใหญ่ที่ใส่จริงๆจะเป็น -p อ่ะ เป็นการ map port ของ container กับ port ของเครื่องเรา เช่น

spring boot รันอยู่ใน container ที่ port 8080 เราก็ต้อง map 8080 ของ container ให้ออกมาเป็น 8080 ของเครื่องเราด้วยเช่นกัน แบบคำสั่งด้านล่าง

docker run -p8080:8080 spring-boot-application:base

หรือ

docker run -p8080:8080 <image_id>

สำหรับ image_id นั้นจะใส่เป็นค่าอะไร สามารถดูได้จากการใช้คำสั่งในข้อถัดไปครับ

3. Process status — List เพื่อดู container

การ list เพื่อดู container เนี่ย เป็นอีกคำสั่งที่มีประโยชน์มากๆ บางทีคิดอะไรไม่ออกก็ list process มันขึ้นมาดูซะงั้น งงๆ

สำหรับคำสั่งที่ใช้คือ

docker ps

จะได้ผลลัพธ์มาหน้าตาคล้ายๆแบบนี้

แต่ๆ การใช้ docker ps นั้น จะได้ผลลัพธ์ออกมาแค่ container ที่ทำงานอยู่เท่านั้น ในบางครั้งเรามี container ที่เรา stop ไป ก็สามารถ list ขึ้นมาดูได้โดยใช้คำสั่ง

docker ps -a 

เท่านี้ก็จะแสดง container ทั้งหมดที่มีอยู่ได้แล้วนั่นเอง

4. Start & Stop container — เริ่มหรือหยุด container

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

4.1 Stop container — หยุดการทำงานของ container

docker stop <container_id>

และ

4.2 Start container — เริ่มการทำงานของ container

docker start <container_id>

หรือจริงๆ สามารถใส่ชื่อ container ก็ยังได้ แต่แนะนำว่า container_id นี่ชัวร์สุด และยังสามารถรัน หรือ หยุดหลายๆอันพร้อมกันได้ด้วยนะ เช่น

docker start 4c01db0b339c d7886598dbe2

จะเป็นการ start container id 4c01db0b339c และ d7886598dbe2 ขึ้นมานั่นเอง

5. Images — List เพื่อดู image

การดู image ที่เรา pull มาไว้ที่เราแล้วสามารถดูได้โดยใช้คำสั่ง

docker images

จะได้ผลลัพธ์ดังนี้

ก็จะมีชื่อ repository, tag และ image id รวมถึงรายละเอียดอื่นๆอีกเล็กน้อยตามภาพด้านบน

6. Delete container — ลบ container

ถ้าต้องการจะลบ container ที่ไม่ได้ใช้แล้วนั้นสามารถใช้คำสั่ง

docker rm <container_id>

ได้เลย แต่ถ้าต้องการจะลบ container ที่รันอยู่นั้นต้องใส่ option -f เข้าไปเพิ่มเป็น

docker rm -f <container_id>

เท่านี้ container ก็จะถูกลบไปนั่นเอง

7. Delete image — ลบ image

คล้ายๆกับการลบ container แต่เปลี่ยนคำสั่งจาก rm เป็น rmi และใส่ image id แทนเช่น

docker rmi -f <image_id>

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

docker logs
docker exec
docker network

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

สำหรับวันนี้ก็ขอลาไปก่อน หวังว่าจะได้พบกันใหม่ใน EP.3 คร้าบ

--

--