關於image的分發,經過dockerhub來pull拉取別人的image,本身的image的分享出來,相似於github的機制,儘管如今github已經被可怕的微軟收購了。git
這是以前push的github
docker image ls
複製代碼
docker login
複製代碼
sudo docker image push zhugemaing/hello-world-new:latest
複製代碼
上傳失敗,被拒絕,爲何?由於必須名稱和本身的用戶名同樣,更名字是試試docker
docker images ls
docker tag a4cb86cc8d6b zhugeaming/hello-world-new
複製代碼
docker image push zhugeaming/hello-world-new:latest
複製代碼
刪除本地的,拉取下試試json
docker image rm zhugeaming/hello-world-new:latest
複製代碼
docker pull zhugeaming/hello-world-new
複製代碼
這種方式基本完成了,可是有個很麻煩的問題,若是一些別有用心的人吧鏡像裏面放一些『不乾淨』的東西,如今的社會,無害人之心,可是要防別人害己。其實這個問題dockerhub已經考慮到了,讓我細細講來。vim
點擊觸發api
image正在編譯中安全
成了哈哈!bash
#經過registry建立一個dockerhub的私服
docker run -d -p 5000:5000 --restart always --name registry registry:2
複製代碼
我是在一臺機器上建立的私服,若是是多臺更改成ip地址,保證telnet另外一臺私服的機器互相能夠通訊。ui
docker build -t 0.0.0.0:5000/hello-world .
複製代碼
sudo vi /etc/docker/daemon.js
複製代碼
#ip和port根據實際的進行更改
{"insecure-registries":["ip:port"]}
複製代碼
sudo vim /lib/systemd/system/docker.service
複製代碼
#加入一句
EnvironmentFile=/etc/docker/daemon.json
複製代碼
sudo vim /lib/systemd/system/docker.service
複製代碼
docker push 0.0.0.0:5000/hello-world
複製代碼
docs.docker.com/registry/ 登陸這個網址,經過http的api的方式查看spa
PS:這個講的操做性比較強,經過這個能夠很輕鬆把本身的image發佈出去。