『中級篇』鏡像的發佈(18)

關於image的分發,經過dockerhub來pull拉取別人的image,本身的image的分享出來,相似於github的機制,儘管如今github已經被可怕的微軟收購了。git

具體的dockerhub如何註冊,我就不解釋了。今天的任務就是把本身的image push到本身的docker push裏面,請看個人表演!

  • 這是以前push的github



開始dockerhub之旅

  • 查看docker裏面的imagea
docker image ls
複製代碼

  • 登陸dockerhub
docker login
複製代碼

sudo docker image push zhugemaing/hello-world-new:latest
複製代碼

上傳失敗,被拒絕,爲何?由於必須名稱和本身的用戶名同樣,更名字是試試docker

  • 修改下載的Image的REPOSITORY和TAG屬性:docker tag <IMAGE ID> <REPOSITORY NAME>
docker images ls
docker tag a4cb86cc8d6b zhugeaming/hello-world-new
複製代碼

  • 再進行上傳
docker image push zhugeaming/hello-world-new:latest
複製代碼


  • 能夠經過下面的命令把上傳的image 拉到本地
image.png
image.png

刪除本地的,拉取下試試json

docker image rm zhugeaming/hello-world-new:latest
複製代碼

docker pull zhugeaming/hello-world-new
複製代碼

其實上邊的方式不安全

這種方式基本完成了,可是有個很麻煩的問題,若是一些別有用心的人吧鏡像裏面放一些『不乾淨』的東西,如今的社會,無害人之心,可是要防別人害己。其實這個問題dockerhub已經考慮到了,讓我細細講來。vim

  • 經過github和dockerhub關聯經過Dockerfile文件,你是否是明白了什麼?






image.png
image.png



  • 點擊觸發api



  • image正在編譯中安全





成了哈哈!bash

對於公司而來,不少東西都須要保護,因此上傳到dockerhub 感受不安全,不穩,對於github咱們能夠建個私有倉庫,對於dockerhub其實也能夠創建一個私有倉庫。

  • 在dockerhub中搜索

  • 安裝私服
#經過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發佈出去。

相關文章
相關標籤/搜索