docker:搭建私有仓库

文章目录

1、拉取镜像

shell 复制代码
docker pull registry

2、运行容器

shell 复制代码
docker run -di --name=registry -p 5000:5000 registry

3、测试成功

打开浏览器 输入地址 http://localhost:5000/v2/_catalog看到 {"repositories":[]} 表示私有仓库搭建成功并且内容为空

我这里用 5001 是宿主机端口被占用了,你就用 5000

4、修改daemon.json

注意:这个文件是宿主机上的文件,不是某个镜像内部的文件

shell 复制代码
vi /etc/docker/daemon.json
{"insecure-registries":["192.168.184.141:5000"]}

此步用于让 docker信任私有仓库地址

  • 在大多数 Linux 发行版上,Docker 守护进程的配置文件通常位于 /etc/docker/daemon.json。

  • 在 Windows 上,默认情况下 Docker 守护进程的配置文件通常位于 C:\ProgramData\Docker\config\daemon.json。

  • 在 macOS 上, Docker Desktop for Mac 中,并不直接使用 daemon.json 文件,因为 Docker Desktop for Mac 使用了一个虚拟的 Linux 虚拟机(HyperKit)来运行 Docker 守护进程。

    在 Docker Desktop for Mac 中,你可以通过点击 Docker Desktop 应用图标,然后选择 "Preferences" -> "Docker Engine" 选项来进行配置。这样你就可以看到一个 JSON 配置文件编辑器,可以直接在界面上进行编辑 Docker 守护进程的配置。

请注意,如果配置文件不存在,你可以手动创建它。

json 复制代码
{
  "insecure-registries": ["your-registry-domain-or-ip:5000"]
}

5、重启docker 服务

shell 复制代码
# centos
systemctl restart docker

如果是 mac 使用 Docker Desktop 重启

6、上传镜像到私有仓库

6.1 标记某个镜像为私有仓库镜像

这里标记 jdk1.8 这个镜像为仓库镜像

shell 复制代码
cd jdk1.8所在目录
docker tag jdk1.8 localhost:5000/jdk1.8

6.2 上传镜像到私有仓库

shell 复制代码
docker push 192.168.184.141:5000/jdk1.8

其他注意项

/etc/docker/registry/config.yml

该文件是 Docker 镜像仓库 Registry 的配置文件。Registry 是一个用于存储和管理 Docker 镜像的服务,可以用作公共 Registry 或者私有 Registry。

在这个配置文件中,你可以定义一些 Registry 的行为和属性,例如镜像存储的位置、使用的存储后端、是否启用身份验证等。

以下是一个简单的 config.yml 文件示例:

yml 复制代码
version: 0.1
log:
  fields:
    service: registry
storage:
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
  • storage 部分定义了 Registry 使用的存储后端,这里是 filesystem,并指定了存储的根目录。
  • http 部分定义了 Registry 的 HTTP 配置,包括监听的地址和端口。

请注意,具体的配置文件内容可能因 Registry 的版本和配置而有所不同。在生产环境中,你可能需要根据实际需求对配置文件进行更详细的配置,包括添加 SSL/TLS 支持、启用身份验证、限制访问等。

如果你对 Registry 的配置进行更改,通常需要重启 Registry 服务以使更改生效。在配置文件被修改后,可以通过以下方式重启 Registry:

bash 复制代码
sudo systemctl restart docker
相关推荐
ACP广源盛1392462567315 分钟前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
百年੭ ᐕ)੭*⁾⁾1 小时前
docker使用neo4j
docker·容器·neo4j
峥无1 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
码云数智-大飞2 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Harvy_没救了3 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信3 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
2401_873479404 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩4 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
handler014 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
日取其半万世不竭6 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器