Registry GCS篇
image需要相當大且可靠的儲存空間,因此,將image的存放放置到Object Storage中將是相當符合理想的一個狀況,在Docker的registry儲存方案中,其中一樣就是儲存於Google Cloud Storage。這邊介紹的是直接在docker環境中啟動registry。畢竟,目標是要讓registry將資料儲存到Cloud Storage。
預先準備
當然,需要先有CloudS Storage與相關的存取工具,專案的部分就不說明,可以在Google Cloud的官方網站找到相關說明。
安裝Google Cloud SDK
curl https://sdk.cloud.google.com | bash
SDK認證授權
gcloud auth login
執行完之後,指令列會出現一個URL,一般會直接呼叫Browser,然後在Oauth的指引之下完成認證動作。
建立registry儲存空間
gsutil mb gs://[your-bucket-name]
啟動registry docker
docker run -d -e GCS_BUCKET=[your-bucket-name] -p 5000:5000 google/docker-registry
如果正常啟動,則可以透過docker ps檢視registry container以daemon的方式啟動在環境中...
操作儲存
針對執行中的container id: d4a00d3a87a1,我們可以這樣做...
首先,對container進行commit
# Run and change your container
# Commit the change to a image name
sudo docker commit d4a00d3a87a1 myubuntu
然後,對container下一個tag紀錄,並指定到您的registry位置的5000 port(如果registry啟動在其他的IP,也可以直接指定該位置的IP)
# Tag your image to your registry
sudo docker tag myubuntu localhost:5000/ubuntu14
對regostry進行push的動作,將資料真正傳到registry
# Push to your registry
sudo docker push localhost:5000/ubuntu14