一、私有仓库搭建
1、拉取私有仓库镜像
docker pull registry
2、启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry
3、访问
打开浏览器 输入地址http://宿主机ip:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓库搭建成功。注意:云服务器的安全组要放开5000端口。
{"repositories":[]}
4、修改daemon.json
vi /etc/docker/daemon.json
在上述文件中添加一个key,保存退出。此步用于让 本机docker 信任私有仓库地址;
注意将宿主机ip修改为自己宿主机真实ip。
{ "insecure-registries": ["宿主机ip:5000"], "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
5、重启docker 服务
systemctl daemon-reload
systemctl restart docker
6、启动registry
docker start registry
二、将镜像上传至私有仓库
先制作镜像,使用docker commit命令可以将容器保存为镜像。
命令形式:docker commit 容器名称 镜像名称
保存myredis容器为镜像
docker commit myredis myredis
操作步骤:
1、标记镜像为私有仓库的镜像
docker tag : 标记本地镜像,将其归入某一仓库。
docker tag myredis:latest 宿主机IP:5000/myreids:latest
2、再次启动私有仓库容器
docker restart registry
3、上传标记的镜像
docker push 宿主机IP:5000/myredis
结果如下:
Using default tag: latest The push refers to repository [宿主机ip:5000/myredis] 2e30f92c5d54: Pushed 6f263637b351: Pushed 6278b061fc42: Pushed 309498e524b3: Pushed 49cba0f0997b: Pushed ad6562704f37: Pushed latest: digest: sha256:7530b193172b81ac358e5940b23cf2933f3f9e88ace966096dfee52d6b4c64e0 size: 1573
4、输入网址查看仓库效果
{"repositories":["myredis"]}
三、私有仓库所在服务器拉取镜像
若是在私有仓库所在的服务器上去拉取镜像;那么直接执行如下命令:
1、因为私有仓库所在的服务器上已经存在相关镜像;所以先删除;请指定镜像名,不是id
docker rmi -f 服务器ip:5000/myredis
2、拉取镜像
docker pull 服务器ip:5000/myredis
结果如下:
Using default tag: latest latest: Pulling from myredis Digest: sha256:7530b193172b81ac358e5940b23cf2933f3f9e88ace966096dfee52d6b4c64e0 Status: Downloaded newer image for 宿主机ip:5000/myredis:latest 宿主机ip:5000/myredis:latest
发现镜像已经从registry中拉取下来。
3、了解私有仓库地址
可以通过如下命令查看 docker 的信息;了解到私有仓库地址
docker info
四、其他服务器拉取私有仓库镜像
大多数情况下,都是某台服务器部署了私有镜像仓库之后;到其它服务器上从私有仓库中拉取镜像,若要拉取私有仓库镜像需要去修改docker的配置文件,设置启动时候的仓库地址。
我们在另外一台服务器上拉取
1、修改daemon.json
vi /etc/docker/daemon.json
添加如下内容
{ "insecure-registries": ["宿主机ip:5000"], "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
注意:宿主机ip为私有仓库所在服务器的ip。
2、修改完后需要重新加载docker配置文件并重启docker
systemctl daemon-reload
systemctl restart docker
3、拉取镜像
docker pull 宿主机ip:5000/myredis
结果如下:
Using default tag: latest latest: Pulling from myredis 42c077c10790: Pull complete a300d83d65f9: Pull complete ebdc3afaab5c: Pull complete 6ce178c713e4: Pull complete 949f9d8f429f: Pull complete 4076be5e5074: Pull complete Digest: sha256:7530b193172b81ac358e5940b23cf2933f3f9e88ace966096dfee52d6b4c64e0 Status: Downloaded newer image for 宿主机ip:5000/myredis:latest 宿主机iP:5000/myredis:latest
查看发现有改镜像。