หลังจากที่ Docker 1.13.0 ถูกปล่อยออกมา
มี feature ใหม่เพิ่มเข้ามามากมาย
มีการปรับปรุงมากมาย
มีการแก้ไข bug มากมาย
มีสิ่งที่ deprecated มากมาย
ดูเพิ่มเติมได้ที่
Release Note :: 1.13.0
แต่ feature ที่ส่วนตัวชอบมีดังนี้
เรื่องที่ 1 Prune command
ก่อนหน้าที่ถ้าต้องการ clear สิ่งต่าง ๆ ที่เราไม่ต้องการ
หรือไม่ถูกใช้นาน ๆ ทั้ง image และ container
ต้องใช้คำสั่งที่ยึดยาว เช่น
[code]
$docker rm -f $(docker ps -aq)
$docker rmi -f $(docker images -q
$docker ps -a | grep 'Exited' | awk '{print $1}' | xargs docker rm
[/code]
แต่ใน Docker 1.13.0 นี่ง่ายกว่ามากผ่าน Prune command ดังนี้
[code]
$docker system prune
[/code]
ผลการทำงานเป็นดังรูป
จากนั้นเอาไปใส่ใน scheduler ให้ทำงานตลอดเลย
เรื่องที่ 2 CLI ของ Docker ที่เข้าใจง่ายขึ้น
ถ้าต้องการจัดการ container ก็ใช้งาน $docker container
ถ้าต้องการจัดการ system ก็ใช้งานผ่าน $docker system
ถ้าต้องการจัดการ image ก็ใช้งานผ่าน $docker image
ถ้าต้องการจัดการ volume ใช้งานผ่าน $docker volume
เรื่องที่ 3 เพิ่ม output ของ metric api ของ container, image และ daemon operation ในรูปแบบของ Prometheus
ทำให้สามารถส่งข้อมูลไปยัง
Prometheus ง่ายเลย
ดังนั้นเรื่องของ monitoring จึงง่ายและมีทางเลือกมากยิ่งขึ้น
แต่ยังเป็น experiment นะครับ อาจจะเอา feature ออกไปก็ได้
สำหรับ Docker for Mac สามารถเปิด Metric api ได้ดังนี้
แก้ไขไฟล์ daemon.json ดังนี้
จากนั้นทำการ Apply และ Restart ซะ
มาลองสร้าง container และดึงข้อมูลผ่าน Metric API กันดังนี้
[code]
$docker run --rm --network=host alpine sh -c 'apk add --no-cache -q curl && curl localhost:1337/metrics'
[/code]
ผลที่ได้เป็นดังนี้
Reference Websites
https://blog.docker.com/2017/01/whats-new-in-docker-1-13/
https://blog.codeship.com/whats-new-docker-1-13/
https://codefresh.io/blog/everyday-hacks-docker/