手把手教你搭建 Harbor 私有镜像仓库

489 阅读2分钟

本文章将介绍如何在 Docker 中部署 Harbor 私有镜像仓库。
首先,请确保已安装 Docker。您可以通过输入docker --version命令检查 Docker 是否已安装。
环境:在CentOS 7部署的Docker中进行的。

如果没有安装Docker,请参考下面相关文章。


相关文章:


手把手教你搭建 Harbor 私有镜像仓库

一、配置镜像加速地址

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.xuanyuan.me",
        "https://docker.1ms.run",
        "https://docker.udayun.com",
        "https://docker.m.daocloud.io",
        "https://atomhub.openatom.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、安装 Docker-Compose

  1. 下载 Docker-Compose:

    curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    
  2. 赋予执行权限:

    chmod +x /usr/local/bin/docker-compose
    
  3. 验证安装:

    docker-compose -v
    

三、安装 Harbor

  1. 下载 Harbor 安装包(有500Mb左右,建议使用 xftp 本地上传):

    wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-offline-installer-v2.11.1.tgz
    
  2. 解压并移动 Harbor 目录:

    tar -xf harbor-offline-installer-v2.11.1.tgz
    mv harbor /usr/local/
    cd /usr/local/harbor/
    
  3. 重命名配置文件模板:

    ls
    mv harbor.yml.tmpl harbor.yml
    
  4. 编辑 harbor.yml 文件,配置 Harbor 的相关参数。

    vim harbor.yml

    图片.png 图片.png

  5. 配置 Docker 信任 Harbor 仓库:

    vim /etc/docker/daemon.json

    在结尾如下图添加内容: "insecure-registries": ["192.168.196.46"]
    注意 格式不要错误

    图片.png

  6. 重启 Docker 服务:

    systemctl restart docker
    
  7. 安装 Harbor:请在/usr/local/harbor/目录下运行

    ./install.sh
    
  8. 验证 Harbor 容器是否启动:

    docker ps
    
  9. 如果没有自动启动,可以手动输入docker-compose up -d启动:

    docker-compose ps #查看
    docker-compose up -d #启动
    docker-compose stop #停止
    docker-compose restart #重新启动

  10. 访问 Harbor:

    打开浏览器,输入 http://192.168.196.46,使用默认用户 admin 和您设置的密码登录。

    图片.png


四、使用 Harbor 管理镜像

  1. 为镜像打标签

    docker tag nginx:1.27.0 192.168.196.46/nginx/nginx:1.27.0
    

    没有nginx镜像的要先拉取nginx,输入命令docker pull nginx:1.27.0拉取

  2. 登录 Harbor:

    docker login 192.168.196.46
    
  3. 推送镜像到 Harbor:

    docker push 192.168.196.46/nginx/nginx:1.27.0
    

    需要先在浏览器打开harbor主页面,创建相关项目

  4. 从 Harbor 拉取镜像:

    docker pull 192.168.196.46/nginx/nginx:1.27.0
    

五、运行容器示例

  1. 运行 Nginx 容器:

    docker run -id --name=nginx-test -p 10086:80 192.168.196.46/nginx/nginx:1.27.0
    
  2. 进入容器并修改默认页面:

    docker exec -it nginx-test /bin/bash
    cd /usr/share/nginx/html
    ls
    echo "<marquee><font color=blue><h1>hello docker...</h1></font></marquee>" > index.html