『中级篇』镜像的发布(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发布出去。

相关文章
相关标签/搜索