关于image的分发,通过dockerhub来pull拉取别人的image,自己的image的分享出来,类似于github的机制,尽管现在github已经被可怕的微软收购了。
docker image ls
docker login
sudo docker image push zhugemaing/hello-world-new:latest
上传失败,被拒绝,为什么?因为必须名称和自己的用户名一样,改名字是试试
docker images ls
docker tag a4cb86cc8d6b zhugeaming/hello-world-new
docker image push zhugeaming/hello-world-new:latest
删除本地的,拉取下试试
docker image rm zhugeaming/hello-world-new:latest
docker pull zhugeaming/hello-world-new
这种方式基本完成了,但是有个很麻烦的问题,如果一些别有用心的人吧镜像里面放一些『不干净』的东西,现在的社会,无害人之心,但是要防别人害己。其实这个问题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 .
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发布出去。