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