『中级篇』镜像的发布(18)

关于image的分发,通过dockerhub来pull拉取别人的image,自己的image的分享出来,类似于github的机制,尽管现在github已经被可怕的微软收购了。

具体的dockerhub如何注册,我就不解释了。今天的任务就是把自己的image push到自己的docker push里面,请看我的表演!

  • 这是之前push的

开始dockerhub之旅

  • 查看docker里面的image
docker image ls

  • 登录dockerhub
docker login

sudo docker image push zhugemaing/hello-world-new:latest

上传失败,被拒绝,为什么?因为必须名称和自己的用户名一样,改名字是试试

  • 修改下载的Image的REPOSITORY和TAG属性:docker tag
docker images ls
docker tag a4cb86cc8d6b zhugeaming/hello-world-new

  • 再进行上传
 docker image push zhugeaming/hello-world-new:latest

  • 可以通过下面的命令把上传的image 拉到本地

image.png

删除本地的,拉取下试试

 docker image rm zhugeaming/hello-world-new:latest

 docker pull zhugeaming/hello-world-new

其实上边的方式不安全

这种方式基本完成了,但是有个很麻烦的问题,如果一些别有用心的人吧镜像里面放一些『不干净』的东西,现在的社会,无害人之心,但是要防别人害己。其实这个问题dockerhub已经考虑到了,让我细细讲来。

  • 通过github和dockerhub关联通过Dockerfile文件,你是不是明白了什么?

image.png

  • 点击触发

  • image正在编译中

成了哈哈!

对于公司而来,很多东西都需要保护,所以上传到dockerhub 感觉不安全,不稳,对于github我们可以建个私有仓库,对于dockerhub其实也可以建立一个私有仓库。

  • 在dockerhub中搜索

  • 安装私服
#通过registry创建一个dockerhub的私服
docker run -d -p 5000:5000 --restart always --name registry registry:2

  • 安装下载私服里面的镜像
    我是在一台机器上创建的私服,如果是多台更改为ip地址,保证telnet另一台私服的机器互相可以通信。
docker build -t 0.0.0.0:5000/hello-world .
![](https://upload-images.jianshu.io/upload_images/11223715-90ff0249cd1d5a99.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](https://upload-images.jianshu.io/upload_images/11223715-8390b31ab9e32752.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • 如果是远程,需要加入信任
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


  • 如何查看是否上传成功

https://docs.docker.com/registry/ 登录这个网址,通过http的api的方式查看

PS:这个讲的操作性比较强,通过这个可以很轻松把自己的image发布出去。


往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
  17. Dockerfile详解(17)

猜你喜欢

转载自blog.csdn.net/zhugeaming2018/article/details/80871925