Docker 私有仓库是用于存储和管理 Docker 镜像的私有平台,对于企业来说,搭建私有仓库可以提高镜像的安全性和访问速度。本文将介绍几种搭建 Docker 私有仓库的方法。
一、搭建 Docker 私有仓库的几种方式
1. 使用 Docker 官方 Registry 镜像
Docker 官方提供了一个用于构建私有镜像仓库的 Registry 镜像。搭建步骤如下:
-
拉取 Registry 镜像:
docker pull registry
-
启动 Registry 容器:
docker run -d -p 5000:5000 --restart=always --name registry registry
-
将镜像存放到本地指定路径(可选):
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --restart=always --name registry registry
-
测试私有仓库:
在浏览器中输入http://<your-server-ip>:5000/v2/_catalog
,替换为你的服务器 IP 地址。
2. 在 Docker Hub 创建私有仓库
在 Docker Hub 创建私有仓库非常简单,只需注册账户并创建仓库即可。但这种方式需要网络连接,且存在一些限制。
3. 使用第三方工具 Harbor
Harbor 是一个企业级的 Docker Registry 服务器,提供了用户管理、镜像复制、访问控制等功能。搭建步骤如下:
环境准备
-
关闭防火墙和 SELinux:
systemctl stop firewalld systemctl disable firewalld sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
安装 Docker 和 Docker Compose
-
安装 Docker:
sudo yum update sudo yum remove docker-ce docker-ce-cli containerd.io sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io
-
配置 Docker 加速:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
-
安装 Docker Compose:
curl -L https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
部署 Harbor
-
下载并解压 Harbor 安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz tar xvf harbor-offline-installer-v2.10.0.tgz
-
配置 Harbor 参数文件:
cp /usr/local/harbor/harbor.yml.tmpl /usr/local/harbor/harbor.yml vim /usr/local/harbor/harbor.yml
-
启动 Harbor:
sh /usr/local/harbor/install.sh
访问 Harbor
- 使用浏览器访问
http://<your-server-ip>
,默认用户名和密码分别为admin
和Harbor12345
。
4. 自行搭建本地仓库
自行搭建本地仓库需要一定的技术能力和资源投入,可以根据实际需求进行定制和优化。可以考虑使用开源的镜像仓库软件,如 Nexus Repository 等。
二、使用 Registry 搭建私有仓库
1. 拉取私有仓库镜像
docker pull registry
2. 启动私有仓库容器
docker run -d -p 5000:5000 --restart=always --name registry registry
3. 测试私有仓库
在浏览器中输入 http://<your-server-ip>:5000/v2/_catalog
进行测试。
4. 上传镜像到私有仓库
docker tag <image-id> <your-server-ip>:5000/<image-name>:<image-version>
docker push <your-server-ip>:5000/<image-name>:<image-version>
5. 拉取私有仓库中的镜像
docker pull <your-server-ip>:5000/<image-name>:<image-version>
三、使用 Harbor 搭建私有仓库
1. 安装 Harbor
按照上述环境准备和安装 Docker、Docker Compose 的步骤进行。
2. 配置 Harbor 参数
编辑 harbor.yml
文件,设置 hostname、端口、数据库密码等。
3. 启动 Harbor
运行 install.sh
脚本开始安装。
4. 访问 Harbor
使用浏览器访问 http://<your-server-ip>
,登录后可以创建项目、上传和下载镜像。
四、Harbor 日常操作管理
1. 创建项目
在 Harbor Web UI 中,单击“+新建项目”并填写项目信息。
2. 创建用户并分配权限
在系统管理 -> 用户管理中创建用户,并分配权限。
3. 添加项目成员
在项目 -> 成员中添加用户并分配角色。
五、维护管理 Harbor
1. 停止/启动/重启 Harbor
cd /usr/local/harbor/
docker-compose stop | start | restart
2. 修改 Harbor.yml 配置文件
停止 Harbor 实例,更新 harbor.yml
,运行 prepare
脚本,然后重新启动 Harbor 实例。
3. 移除 Harbor 服务容器同时保留镜像数据/数据库
docker-compose down -v
4. 重新部署 Harbor
如果需要重新部署 Harbor,可以移除 Harbor 服务容器的全部数据。
通过以上步骤,你可以成功搭建并管理自己的 Docker 私有仓库。