มาเล่น Docker Registry 2 กัน

Docker ประกาศออกรุ่นใหม่ของ Docker Registry พร้อมเปลี่ยนชื่อโครงการเป็น Docker Distribution เพื่อไม่ให้สับสนขอเรียกเป็น Registry 2 ก็แล้วกันครับ สำหรับท่านที่ใช้ Docker 1.6+ จะรองรับ Registry 2 แล้วสำหรับรุ่นต่ำกว่านั้นใช้งานด้วยกันไม่ได้ครับ ในรุ่นใหม่นี้ออกแบบมาเพื่อรองรับ plugin สำหรับ storage แบบต่างๆ ซึ่งแต่ก่อนเน้นที่ Amazon S3 ในรุ่นใหม่นี้รองรับ storage หลายแบบ เช่น file system, Azure Blob Storage, AWS S3, Rados, Redis เป็นต้น ดู configuration เพิ่มเติมได้ครับ
มาลองเล่นกันอันดับแรกติดตั้ง Docker ให้เรียบร้อยก่อน
wget -qO- https://get.docker.com/ | sh
ติดตั้ง Docker Compose ต่อ
curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
มาลองติดตั้งแบบใช้ Docker กันก่อน ใช้คำสั่งดังนี้
docker run -d -p 5000:5000 --restart=always --name registry registry:2

คุณจะได้ Registry 2 ทำงานอยู่บนพอร์ท 5000 หากต้องการเก็บข้อมูลแยกออกจาก Container ใช้คำสั่ง
docker run -d -p 5000:5000 \
-e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry \
-v /myregistrydata:/var/lib/registry \
--restart=always --name registry registry:2
มาลองใช้ Compose กันบ้าง สร้างไฟล์ docker-compose.yml ดังนี้

สั่ง compuse up ได้เลยดังนี้
docker-compose up -d
สำหรับการ push image สั่ง tag image ที่คุณต้องการ push ดังนี้
docker pull ubuntu && docker tag ubuntu localhost:5000/xavier/ubuntu
docker push localhost:5000/xavier/ubuntu
หากต้องการ pull มาใช้งานสั่ง
docker pull localhost:5000/xavier/ubuntu
สำหรับ Trust Registry แนะนำให้อ่านเพิ่มเติมได้ที่เอกสารในหน้าโครงการครับ