Geard เป็นเครื่องมือบน command-line ใช้สำหรับเชื่อมโยง Docker Container กับ Systemd หรือเชื่อม Docker Container จากหลายๆ Host เข้าด้วยกัน ซึ่งโครงการนี้จะถูกใช้ใน OpenShift รุ่นถัดไป สำหรับท่านที่อยากลองใช้ Geard สามารถใช้งานได้จาก Linux ตระกูล RedHat ได้แก่ RHEL, CentOS, Fedora เป็นต้น ใน Fedora 20 มี Geard อยู่ใน Repository (testing) เรียบร้อยแล้ว เราสามารถนำมาใช้งานได้เลย
ครั้งนี้เราจะใช้ Fedora 20 ให้ติดตั้ง Geard กันก่อนดังนี้
yum install --enablerepo=updates-testing geard
เมื่อติดตั้งเสร็จให้สั่ง start docker ดังนี้
systemctl start docker
และ start geard ดังนี้
systemctl start geard
ทดลอง run Joomla! จาก image ของ Dell ดังนี้
gear install dell/joomla localhost/joomla -p 80:80 --start
รอสักพัก geard จะดาวน์โหลด Docker Image มาให้จากนั้นจะ start service ให้เรา ลองเปิด web browser ดูก็จะได้หน้าจอติดตั้ง Joomla! ดังนี้
ท่านที่ใช้ systemd จะคุ้นเคยกับการใช้คำสั่ง list-units ลองสั่งผ่าน geard ได้
gear list-units
คำสั่งนี้จะแสดงสถานะของ Container ว่าเป็นอย่างไร เมื่อมี unit file นั่นหมายความว่าต้องมี systemd config ด้วย ลองสั่ง
gear status joomla
ก็จะพบว่ามี unit file อยู่ที่ /var/lib/containers/units/jo/ctr-joomla.service
เราสามารถใช้ systemd ในการสั่งงานได้เช่นกัน
systemctl status ctr-joomla
หากสังเกตดู unit file ที่สร้างจาก geard จะมีคำว่า ctr- นำหน้าเสมอ เวลาสั่งผ่าน systemd ก็อย่าลืมเติม ctr- ก่อนหน้าชื่อ service หรือถ้ากลัวลืมก็สั่งผ่าน geard จะง่ายกว่า สำหรับการ start, stop service ก็สั่งผ่าน geard ได้ เช่น gear stop joomla เป็นต้น
Geard สามารถทำงานผ่าน REST API ได้โดยทำงานผ่าน port 43273 ดังนั้น เราสามารถสั่งงาน Geard ผ่าน REST API ได้เลย ตัวอย่างเช่น list container ใน Host