docker 搭建本地私有仓库

1.使用registry镜像创建私有仓库

安装docker后,可以通过官方提供的 registry 镜像来简单搭建一套本地私有仓库环境:

docker run -d -p 5000:5000 registry:2

这将自动下载并启动一个 registry 容器,创建本地的私有仓库服务。

默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。可以通过 -v 参数来将镜像文件存放在本地的指定路径。例如下面的例子将上传的镜像放到 /opt/data/registry 目录:

docker run -d -p 5000:5000 -v /opt/registry/data:/var/lib/registry registry:2

此时在本地将启动一个私有的仓库服务,监听端口为 5000。

2.管理私有仓库

 由于我实现pull拉去过centos的镜像,此处我就讲centos上传到私有仓库

① 使用 docker tag 命令将这个镜像标记为 192.168.0.109:5000/test-centos
 docker tag centos 192.168.0.109:5000/test-centos

② 使用 docker push 命令上传标记的镜像
 docker push 192.168.0.109:5000/test-centos

由于 docker 私有仓库服务器,默认是基于https传输的,此时会出现以下异常

The push refers to repository [192.168.0.109:5000/test-centos]
Get https://192.168.0.109:5000/v2/: http: server gave HTTP response to HTTPS client

查了一些资料说修改如下配置,可以不使用https传输

vi /etc/docker/daemon.json

将以下代码放入文件中并保存
"insecure-registries":["127.0.0.1:5000"]

修改后文件格式如下
{
  "registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.0.109:5000"]
}

然后执行以下命令,重新启动docker
systemctl daemon-reload
systemctl restart docker

3.上传镜像

docker push 192.168.0.109:5000/test-centos

4.查看上传的镜像

① 访问一下地址

http://192.168.0.109:5000/v2/test-centos

②也可以查看镜像存放目录中是否存在

/opt/registry/data

相关推荐