与 docker registry 私有仓库
一、docker image 的发布
1.1、注册 登陆 docker hub:https://hub.docker.com/
1.2、在本地 使用 docker login 输入 注册的账号密码 进行登陆
1.3、使用 docker push 进行推送 到 docker Repositories
docker push [image_name]
1.4、 远程拉去 上传的镜像 image
docker pull [image_name]
二、私有的 docker 仓库 docker registry
2.1、在远程服务器上运行
docker run -d -p 5000:5000 --restart always --name registry registry:2
2.2、确认远程服务器的 5000 端口是开的
telnet ip_address 5000 (出现 Connected 则 ok)
2.3、build 一个 新的image image
docker build -t ip_address:5000/hello-world .
2.4、 在 /etc/docker 下创建 daemon.json
并写入
{ "insecure-registries": ["ip_address:5000"] } #信任这个 ip下的5000端口
2.5、编辑 /lib/systemd/system/docker.service
在 ExecStart=... 下添加
EnvironmentFile=-/etc/docker/daemon.json
2.6、重启 docker
sudo systemctl daemon-reload
sudo service docker restart
2.7、docker push 推送镜像到自己的私有服务器
docker push ip_address:5000/hello-world
2.8、在远程服务器查看上传的 镜像 ( registry 文档 https://docs.docker.com/registry/spec/api/)
通过查阅得知 通过访问 /v2/_catalog 即可访问获取 所有的 镜像
即浏览器 或 curl 访问 ip_address:5000/v2/_catalog
会得到 {"repositories":["hello-world"]}