随笔 - 755  文章 - 0 评论 - 33 阅读 - 135万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

一、私有仓库搭建

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
复制代码

查看发现有改镜像。

 

 

 

 

 

 

 

 

 
 
 
 
 
 
 


感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted on   周文豪  阅读(513)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2021-06-16 Map集合中的常用方法
2021-06-16 迭代器Iterator
2021-06-16 List集合
点击右上角即可分享
微信分享提示