ช่วงนี้ไล่ blog ที่ยังค้างอยู่ ตั้งใจว่าจะเขียนให้ครบเพื่อกันลืม จำได้ว่าช่วงปีที่แล้วเป็นยุคเริ่มต้นของ Orchestration Tools สำหรับ Docker และอีกเรื่องนึงที่ขาดไม่ได้คือ Docker GUI ซึ่งก็มีโคงการโอเพนซอร์สหลายตัวพัฒนา Docker GUI ขึ้นมา ไม่ว่าจะเป็น Docker UI, Shipyard ฯลฯ แต่ที่ดูใช้งานง่ายและติดตั้งง่าย มีการเชื่อมต่อที่หลากหลายทั้ง Web GUI และ REST API ก็คงเป็น Shipyard และที่สำคัญ Shipyard มีบริการทุกอย่างที่ต้องการ แบ่งออกเป็น service ที่ชัดเจน และมีเอกสารที่อ่านแล้วเข้าใจรวดเร็ว มาลองเล่น Shipyard กันครับ

ใช้เครื่อง 3 เครื่องดังนี้

  • Shipyard –> 172.16.30.34
  • Docker01 –> 172.16.28.97
  • Docker02 –> 172.16.30.8

สำหรับ IP Address นี่แล้วแต่สะดวก ใช้อ้างอิงเฉยๆ ถ้ามี DNS ก็อ้างอิงจาก Domain Name จะสะดวกมากกว่า ได้เครื่องครบ 3 เครื่องแล้ว ติดตั้ง Ubuntu Server 14.04 LTS 64 bits แล้วติดตั้ง Docker ทั้ง 3 เครื่องดังนี้

curl -sSL https://get.docker.io/ubuntu/ | sudo sh

เครื่อง Shipyard เราจะติดตั้ง Shipyard โดยใช้ Docker Image ชื่อ shipyard/deploy สั่งติดตั้งดังนี้

sudo docker run -i -t -v /var/run/docker.sock:/docker.sock shipyard/deploy setup

ใน Docker Image ของ Shipyard จะประกอบด้วย

  • shipyard/redis
  • shipyard/lb
  • shipyard/router
  • shipyard/db
  • shipyard/shipyard

เรียกได้ว่ามาครบชุด หลังจากติดตั้ง Shipyard เสร็จ Docker จะแจ้งให้เรารู้ว่าจะเข้าใช้งาน Shipyard Web UI ได้จาก http://172.16.30.34:8000 ใช้ username=admin และ password=shipyard สำหรับ login

กดไปที่ เมนู Host จะพบว่าไม่มี Docker Host เลยสักตัว พร้อมคำแนะนำให้ติดตั้ง Shipyard Agent อ่ะไม่เป็นไร กลับมาที่ Docker01, Docker02 กันก่อน

เครื่อง Docker01, Docker02 สั่ง pull image เอาไว้ทดสอบสัก 1 ตัวเป็น Ghost Bloging Platform ละกัน

sudo docker pull dockerfile/ghost

จากนั้นติดตั้ง Shipyard Agent แบบเร็วๆ ดังนี้

sudo curl https://github.com/shipyard/shipyard-agent/releases/download/v0.3.2/shipyard-agent -L -o /usr/local/bin/shipyard-agent

sudo chmod +x /usr/local/bin/shipyard-agent

จากนั้นลงทะเบียน Docker Host ทั้ง 2 เครื่องกับ Shipyard ดังนี้

shipyard-agent -url http://172.16.30.34:8000 -register

เราจะได้ Key มายาวๆ หน้าตาคล้ายๆ แบบนี้ 9b4bf37953254f7eb18142d4811b75d4 ให้จดเอาไว้แล้วสั่ง run Shipyard Agent ตามด้วย Key ที่ลงทะเบียนไว้ดังนี้

shipyard-agent -url http://172.16.30.34:8000 -key 9b4bf37953254f7eb18142d4811b75d4

ทำให้ครบทั้ง 2 เครื่อง กลับมาที่หน้า Host ของ Shipyard เราก็จะพบว่ามี Docker Host โผล่มา 2 เครื่องแล้ว

กดตรงรูปเฟืองสั่ง Enable Host แล้วไปที่หน้า Images เราจะพบว่าเรามี Image เยอะแยะเลย

ทีนี้มาลอง Deploy Application กัน กดไปที่ Container > Create กรอกข้อมูลลงไป

จากนั้นกด Create กลับไปหน้า Container เพื่อดูรายละเอียด

ตอนนี้เราได้ Container ทำงานแล้ว 1 ตัว ทีนี้จะให้เข้าใช้งานจากข้างนอกโดยการผูก IP Address และ Domain ได้ยังไง ถ้ายังจำกันได้เราต้อง ใส่ข้อมูล Container ID, IP Address และ Port ให้ Hipache แต่ตอนนี้เราใช้ GUI แล้วไม่ต้องลำบางขนาดนั้นก็ได้ กดไปที่ Applications > Create กรอกข้อมูลลงไป

จากนั้นกดปุ่ม Update ก็เป็นอันใช้ได้ Shipyard จะเอาข้อมูลของ Container ของเราไปใส่ใน Hipache ให้อัตโนมัติ จากนั้นลองเข้าเว็บผ่าน Domain ที่เราผูกเอาไว้ http://ghost.fffee.org ก็จะได้ผลลัพท์ดังนี้

Comments are closed.