Debian Docker Compose Alternatives

Sat 4 Jan 2025
ใช้เวลาอ่าน 1 นาที
Featured Image

หลังจาก Docker Compose ออก verion 2 ซึ่งจะเป็น Plugin แทน Standalone command เหมือนรุ่นแรก ซึ่งหลาย ๆ ท่านจะคุ้นเคยกับการเรียก docker-compose แทน docker compose ทำให้รู้สึกขัดใจ จริง ๆ วิธีทำ alias มีหลานแบบ อาจจะทำ symlink หรือ alias ใน shell ก็ได้ แต่บทความนี้จะแนะนำการใช้ update-alternatives ในการเปลี่ยนชื่อเป็น docker-compose แทน docker compose ในระบบ Debian หรือ Ubuntu หรือ Linux ค่ายอื่น ๆ ที่ใช้ Debian เป็น base

ตรวจสอบ Docker Compose Plugin ในระบบ

เนื่องจาก Docker Compose v2 จะเป็น Plugin ทำให้เราต้องตรวจสอบว่ามี Plugin อยู่ในระบบหรือไม่ โดยใช้คำสั่ง

dpkg -l | grep docker-compose-plugin 

ปกติถ้าติดตั้งตามคำแนะนำในหน้าเว็บของ Docker จะติดตั้งเป็น Plugin แล้ว แต่ถ้าไม่มีก็ติดตั้งด้วยคำสั่ง

sudo apt install docker-compose-plugin

ตรวจสอบ Path ของ Docker Compose Plugin

เราสามารถตรวจสอบ Path ของ Docker Compose Plugin ได้โดยใช้คำสั่ง

dpkg -L docker-compose-plugin

จะได้ผลลัพธ์เช่น

/.
/usr
/usr/libexec
/usr/libexec/docker
/usr/libexec/docker/cli-plugins
/usr/libexec/docker/cli-plugins/docker-compose
/usr/share
/usr/share/doc
/usr/share/doc/docker-compose-plugin
/usr/share/doc/docker-compose-plugin/changelog.Debian.gz

ให้เราจำ Path /usr/libexec/docker/cli-plugins/docker-compose ไว้เดี๋ยวเราจะใช้ในการ update-alternatives

update-alternatives

update-alternatives เป็นคำสั่งที่ใช้ในการเปลี่ยนชื่อของ command ให้เป็นชื่ออื่น โดยเราจะใช้คำสั่งนี้ในการเปลี่ยนชื่อ docker-compose ให้เป็น docker compose โดยใช้คำสั่ง

sudo update-alternatives --install /usr/bin/docker-compose docker-compose /usr/libexec/docker/cli-plugins/docker-compose 0

ผลลัพธ์จะเป็น

update-alternatives: using /usr/libexec/docker/cli-plugins/docker-compose to provide /usr/bin/docker-compose (docker-compose) in auto mode

ตรวจสอบด้วยคำสั่ง

update-alternatives --display docker-compose

จะได้ผลลัพธ์เช่น

docker-compose - auto mode
  link best version is /usr/libexec/docker/cli-plugins/docker-compose
  link currently points to /usr/libexec/docker/cli-plugins/docker-compose
  link docker-compose is /usr/bin/docker-compose
  /usr/libexec/docker/cli-plugins/docker-compose - priority 0

ทดสอบการใช้งาน

เราลองใช้คำสั่ง docker compose --version ดู

docker-compose version

จะได้ผลลัพธ์เช่น

Docker Compose version v2.32.1

สรุป

เราสามารถนำเทคนิคนี้ไปใช้กับ command อื่น ๆ ได้อีกลองเอาไปประยุกต์ใช้กันดูนะครับ

ถัดไป Docker Remote
comments powered by Disqus