Brian Morearty บรรยายเกียวกับ Docker ที่สำนักงานใหญ่ของ Twitter ใน slide มีเทคนิคการใช้งาน Docker ที่น่าสนใจอยู่หลายเรื่อง และเป็นประโยชน์มาก ก็เลยถือโอกาสสรุป 10 เทคนิคที่น่าสนใจมาให้ได้ทดลองใช้กัน

เทคนิคที่ 1 เอาค่า Container ID ตอนสั่ง run container

ID=$(docker run ubuntu echo hello world)

ค่าเราสามารถเอาค่า ID ที่ได้เอาไปทำอย่างอื่นต่อได้

เทคนิคที่ 2 ติดตั้งโปรแกรมเพิ่มเติมใน container โดยไม่พึ่ง Dockerfile

docker run -it ubuntu bash

โปรแกรมจะพาเราเข้าไปที่ bash shell ของ container ที่เราสั่งใช้งาน จากนั้นเราจะทำอะไรกับ container นั้นก็ได้ จากนั้นสั่ง commit ได้เลย

docker commit CONTAINER-ID NEW-NAME

เทคนิคที่ 3 ใช้ Docker ไม่ง้อ sudo

sudo groupadd docker

sudo gpasswd -a myusername docker

sudo service docker restart

เท่านี้คุณก็สามารถใช้ user ของคุณใช้คำสั่ง docker ได้

เทคนิคที่ 4 เอา Container ที่ไม่ได้ใช้ออกไป

docker rm $(docker ps -a -q)

เทคนิคที่ 5 ใช้ jq ดูรายละเอียด Container เช่น ดู IP Address ของ Container

docker inspect CONTAINER-ID | jq -r '.[0].NetworkSettings.IPAddress'

เทคนิคที่ 6 ดู env ใน Container

docker run ubuntu env

เทคนิคที่ 7 RUN vs CMD

RUN จะทำงานเมื่อสั่ง build image ส่วนคำสั่ง CMD จะทำงานเมื่อสั่ง docker run

เทคนิคที่ 8 CMD vs ENTRYPOINT

CMD สามารถส่งค่า argument เมื่อสั่ง run ได้ แต่ ENTRYPOINT ทำไม่ได้

เทคนิคที่ 9 Container มี IP Address หรือเปล่า

มีเพราะ container ทำงานผ่าน internal IP address ลองใช้คำสั่ง

docker run ubuntu ip -4 -o addr show eth0

จะรู้ว่า Container ก็มี IP Address เหมือนกัน

เทคนิคที่ 10 ใช้งานผ่าน Unix Socket ได้

Docker ทำงานเป็นทั้งคำสั่งใช้งานใน shell และเป็นทั้ง deamon ด้วยซึ่งสามารถกำหนดให้ทำงานผ่าน unix socket หรือ tcp socket ได้

docker -H tcp://192.168.2.182:2375 pull ubuntu

เทคนิคทั้งหมดสามารถเอาไปลองใช้กันดูได้

Comments are closed.