Docker搭建本地私有仓库

目录

[1.下载运行registry 镜像](#1.下载运行registry 镜像)

2.添加私有镜像仓库地址

3.为镜像添加标签

4.上传到私有仓库

5.查看私有仓库的所有镜像

6.测试私有仓库下载

1.下载运行registry 镜像

复制代码
docker pull registry
docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

-----------------------------------------------------------------------------------------
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行
-v:把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了
--restart=always:这是重启的策略,在容器退出时总是重启容器
--name registry:创建容器命名为registry
registry:latest:这个是刚才pull下来的镜像
-----------------------------------------------------------------------------------------
Docker容器的重启策略如下:
no:默认策略,在容器退出时不重启容器
on-failure:在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3 :在容器非正常退出时重启容器,最多重启3次
always:在容器退出时总是重启容器
unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器


2.添加私有镜像仓库地址

复制代码
#在 daemon.json 文件中添加私有镜像仓库地址
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://ustqgeoy.mirror.aliyuncs.com"],
  "insecure-registries": ["http://192.168.9.113:5000"]       #添加私有镜像仓库地址,指定本机ip
}

systemctl restart docker
docker info


3.为镜像添加标签

复制代码
docker images
docker tag nginx:lnmp 192.168.9.113:5000/nginx:lnmp
docker tag openjdk:8-jdk-alpine 192.168.9.113:5000/openjdk:a1
docker images


4.上传到私有仓库

复制代码
docker push 192.168.9.113:5000/nginx:lnmp
docker push 192.168.9.113:5000/openjdk:a1


5.查看私有仓库的所有镜像

复制代码
http://192.168.9.113:5000/v2/_catalog   #查看私有仓库所有镜像
http://192.168.9.113:5000/v2/openjdk(指定镜像名)/tags/list  #指定镜像查看其标签


6.测试私有仓库下载

重新开启一台服务器测试下载私有仓库镜像(先删除原有的 centos 的镜像,再测试私有仓库下载

复制代码
cd /etc/docker
vim daemon.json
{
   "insecure-registries": ["http://192.168.9.113:5000"]    #添加私有仓库地址
}


systemctl restart docker

docker info

docker pull 192.168.9.113:5000/nginx:lnmp  #从私有仓库中拉去镜像
docker pull 192.168.9.113:5000/openjdk:a1
docker images


相关推荐
艾伦_耶格宇14 分钟前
【ACP】阿里云云计算高级运维工程师--ACP
运维·阿里云·云计算
FrankYoou1 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
一位摩羯座DBA1 小时前
Redhat&Centos挂载镜像
linux·运维·centos
隆里卡那唔1 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样1 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
cui_win2 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
风清再凯2 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible
深圳安锐科技有限公司2 小时前
深圳安锐科技发布国内首款4G 索力仪!让斜拉桥索力自动化监测更精准高效
运维·安全·自动化·自动化监测·人工监测·桥梁监测·索力监测
猫头虎2 小时前
猫头虎 AI工具分享:一个网页抓取、结构化数据提取、网页爬取、浏览器自动化操作工具:Hyperbrowser MCP
运维·人工智能·gpt·开源·自动化·文心一言·ai编程
cocologin4 小时前
RIP 技术深度解析
运维·网络·网络协议