1 官方仓库构建

1.1 仓库服务器的配置

  1. docker run -d -v /var/docker/registry:/var/lib/registry -p 5000:5000 --restart=always registry
  1. vim /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://du3ia00u.mirror.aliyuncs.com"],
  4. "insecure-registries": ["192.168.179.100:5000"]
  5. }
  6. systemctl daemon-reload
  7. systemctl restart docker

192.168.179.100是仓库服务器的地址。

  • 验证是否安装成功:
  1. http://192.168.179.100:5000/v2/

验证是否安装成功.png

  • 从Docker Hub上拉取镜像:
  1. docker pull hello-world
  • 将拉取到本地的镜像改为ip地址:端口号/用户名/镜像名称:标签:
  1. docker tag hello-world:latest 192.168.179.100:5000/hello-world:v1.0
  • 推送镜像到本地仓库:
  1. docker push 192.168.179.100:5000/hello-world:v1.0

推送成功.png

1.2 客户端设置

  1. vim /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://du3ia00u.mirror.aliyuncs.com"],
  4. "insecure-registries": ["192.168.179.100:5000"]
  5. }
  6. systemctl daemon-reload
  7. systemctl restart docker
  1. docker pull 192.168.179.100:5000/hello-world:v1.0

2 Harbor仓库构建

2.1 安装底层需求

  • Python应该为2.7或更高版本。
  • Docker引擎应该为1.10或更高版本。
  • Docker Compose应该为1.6.0或更高版本。

2.2 Harbor的安装

2.2.1 解压压缩包

  1. wget https://github.com/goharbor/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz
  1. tar -zxvf harbor-offline-installer-v1.2.0.tgz

解压文件.png

2.2.2 移动harbor到/usr/local目录下

  1. mv harbor /usr/local

移动harbor文件夹.png

2.2.3 创建https证书以及配置相关目录权限

  1. openssl genrsa -des3 -out server.key 2048

Snipaste_2020-09-09_14-34-15.png

  1. openssl req -new -key server.key -out server.csr

Snipaste_2020-09-09_14-36-41.png

  1. cp server.key server.key.org

QQ拼音截图未命名.png

  1. openssl rsa -in server.key.org -out server.key

退出密钥.png

  1. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

创建证书.png

  1. mkdir -pv /data/cert

创建目录.png

  1. chmod -R 777 /data/cert

修改目录权限.png

  1. mv server.* /data/cert/

将证书移动到指定的目录.png

2.2.4 修改harbor.cfg配置文件

  1. cd /usr/local/harbor
  1. vim harbor.cfg
  2. hostname = hub.sunxiaping.com
  3. ui_url_protocol = https

移动harbor文件夹.png

2.2.5 安装

  • 在/usr/local/harbor目录下执行如下的命令:
  1. ./install.sh

harbor安装成功.png

2.3 Harbor的访问测试

Harbor访问测试.png

2.4 Harbor指定镜像仓库的地址

  1. vim /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://du3ia00u.mirror.aliyuncs.com"],
  4. "insecure-registries": ["192.168.64.100","hub.sunxiaping.com"]
  5. }
  6. systemctl daemon-reload
  7. systemctl restart docker
  1. vim /etc/hosts
  2. 192.168.64.100 hub.sunxiaping.com

2.5 Harbor下载测试镜像

  1. docker pull hello-world

2.6 Harbor给镜像重新打上标签

  1. docker tag hello-world:latest hub.sunxiaping.com/sy/hello-world:v1.0

2.7 Harbor登录

  1. docker login 192.168.64.100
  2. docker login hub.sunxiaping.com

2.8 Harbor推送镜像

  1. docker push hub.sunxiaping.com/sy/hello-world:v1.0

Harbor推送私有镜像成功.png

2.9 其他Docker客户端下载镜像

2.9.1 指定镜像仓库地址

  1. vim /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://du3ia00u.mirror.aliyuncs.com"],
  4. "insecure-registries": ["192.168.64.100","hub.sunxiaping.com"]
  5. }
  6. systemctl daemon-reload
  7. systemctl restart docker
  1. vim /etc/hosts
  2. 192.168.64.100 hub.sunxiaping.com

2.9.2 登录

  1. docker login 192.168.64.100
  2. docker login hub.sunxiaping.com

2.9.3 下载镜像

  1. docker pull hub.sunxiaping.com/sy/hello-world:v1.0