/ 31浏览

Docker 私有仓库搭建教程

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 私有仓库。