Docker私有镜像仓库搭建

  上一篇 我大致的介绍了什么是docker?,为什么使用docker以及怎么使用docker?只要多加练习,很快就能熟练的掌握这些基本的命令。

  好了,话不多说,我们就直接来干货吧!

  注意:命令是基于Centos7.5+的系统环境。

拉取镜像仓库

docker pull registry

更改镜像名称

# ip修改成执行执行这个命令的服务器的ip
docker tag registry:latest 172.18.14.188:5000/mytestdocker:redistry

启动私服镜像

docker run -it -p 172.18.14.188:5000:5000 -v /opt/data/registry:/var/lib/registry -d 172.18.14.188:5000/mytestdocker:redistry

镜像上传的私服库

# 可以从远程仓库拉取mysql或者redis镜像之类的来上传到私服库
docker push 172.18.14.188:5000/mytestdocker:redistry

但是这样是无法将这个镜像push到私有仓库的。需要在docker的配置文件/etc/docker/daemon.json (没有的话需要新建)中增加 “insecure-registries“参数配置:

复制代码
# 启用不安全的注册表
{ "insecure-registries" : ["172.18.14.188:5000"] } # 重新加载配置文件,重启docker服务使配置生效 systemctl daemon-reload systemctl restart docker # 找到之前启动过的容器iddocker ps -a
复制代码

查询私服库信息

curl http://172.18.14.188:5000/v2/_catalog

打印如下:

查询仓库中镜像

curl http://172.18.14.188:5000/v2/mytestdocker/tags/list

打印如下:

 

修改标签

docker tag nginx:latest 172.18.14.188:5000/nginx:latest

上传镜像到仓库

docker push 172.18.14.188:5000/nginx:latest

 

注意:

docker默认是不开启远程访问的。

开启远程的方法如下:

vim /usr/lib/systemd/system/docker.service

 

 在 ExecStart 属性后面追加 -H unix:///var/run/docker.sock -H 0.0.0.0:2375

 然后看看是否生效:

复制代码
# 刷新配置
systemctl daemon-reload
# 重启docker systemctl restart docker
# 查看docker的运行状态 systemctl status docker
# 查看端口情况 netstat
-tnlp | grep 2375
复制代码
posted @   itwetouch  阅读(347)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示