Centos 7安装Docker镜像仓库-Harbor

下载安装包并导入镜像

# 进入文件下载目录
cd /root/software/

# 下载安装文件
# 如果下载失败可以本地下载,下载后上传至服务器,https://github.com/goharbor/harbor/releases
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v2.1.0.tgz

# 解压文件
tar xvf harbor-offline-installer-v2.1.0.tgz -C /usr/local/

# 导入docker镜像
cd /usr/local/harbor
docker image load -i harbor.v2.1.0.tar.gz

导入镜像完成后如下所示,以goharbor为前缀的是Harbor要使用的镜像:

REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
goharbor/chartmuseum-photon          v2.1.0              5bad3dce5fd5        6 days ago          172MB
goharbor/redis-photon                v2.1.0              45fa455a8eeb        6 days ago          68.7MB
goharbor/trivy-adapter-photon        v2.1.0              9b443d147b3d        6 days ago          106MB
goharbor/clair-adapter-photon        v2.1.0              cee42542dfb2        6 days ago          57.9MB
goharbor/clair-photon                v2.1.0              9741a40b433c        6 days ago          167MB
goharbor/notary-server-photon        v2.1.0              e20ff73edec7        6 days ago          139MB
goharbor/notary-signer-photon        v2.1.0              2b783b793805        6 days ago          136MB
goharbor/harbor-registryctl          v2.1.0              98f466a61ebb        6 days ago          132MB
goharbor/registry-photon             v2.1.0              09c818fabdd3        6 days ago          80.1MB
goharbor/nginx-photon                v2.1.0              470ffa4a837e        6 days ago          40.1MB
goharbor/harbor-log                  v2.1.0              402802990707        6 days ago          82.1MB
goharbor/harbor-jobservice           v2.1.0              ff65bef832b4        6 days ago          165MB
goharbor/harbor-core                 v2.1.0              26047bcb9ff5        6 days ago          147MB
goharbor/harbor-portal               v2.1.0              5e97d5e230b9        6 days ago          49.5MB
goharbor/harbor-db                   v2.1.0              44c0be92f223        6 days ago          164MB
goharbor/prepare                     v2.1.0              58d0e7cee8cf        6 days ago          160MB
quay.io/coreos/flannel               v0.13.0-rc2         79dd6d6368e2        6 days ago          57.2MB
k8s.gcr.io/kube-proxy                v1.18.5             a1daed4e2b60        2 months ago        117MB
k8s.gcr.io/kube-apiserver            v1.18.5             08ca24f16874        2 months ago        173MB
k8s.gcr.io/kube-controller-manager   v1.18.5             8d69eaf196dc        2 months ago        162MB
k8s.gcr.io/kube-scheduler            v1.18.5             39d887c6621d        2 months ago        95.3MB
k8s.gcr.io/pause                     3.2                 80d28bedfe5d        7 months ago        683kB
k8s.gcr.io/coredns                   1.6.7               67da37a9a360        7 months ago        43.8MB
k8s.gcr.io/etcd                      3.4.3-0             303ce5db0e90        11 months ago       288MB

修改配置文件

# 进入安装包加压后目录
cd /usr/local/harbor

# 拷贝配置模板
cp harbor.yml.tmpl harbor.yml

# 编辑配置文件
vim harbor.yml

修改后配置文件如下所示:

# 修改IP地址
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 10.170.128.9

# 修改端口号
# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 83

# 注释https相关内容
# https related config
#https:
  # https port for harbor, default is 443
  #port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

检测harbor

cd /usr/local/harbor

./prepare

输出结果如下:

prepare base dir is set to /usr/local/harbor
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

安装harbor

cd /usr/local/harbor

./install.sh

当显示下面结果时,证明已经安装完成:

Creating redis ... done
Creating harbor-core ... done
Creating network "harbor_harbor" with the default driver
Creating nginx ... done
Creating redis ... 
Creating registry ... 
Creating harbor-db ... 
Creating harbor-portal ... 
Creating registryctl ... 
Creating harbor-core ... 
Creating nginx ... 
Creating harbor-jobservice ... 
✔ ----Harbor has been installed and started successfully.----

查看相关容器运行结果

docker ps

执行结果如下:

CONTAINER ID        IMAGE                                COMMAND                  CREATED              STATUS                        PORTS                       NAMES
7310212b3283        goharbor/harbor-jobservice:v2.1.0    "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                               harbor-jobservice
b0dfde9a5176        goharbor/nginx-photon:v2.1.0         "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:83->8080/tcp        nginx
ad83a154eef4        goharbor/harbor-core:v2.1.0          "/harbor/entrypoint.…"   About a minute ago   Up 59 seconds (healthy)                                   harbor-core
715f26c96edd        goharbor/harbor-portal:v2.1.0        "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)                               harbor-portal
93ae5f5a4ef0        goharbor/harbor-db:v2.1.0            "/docker-entrypoint.…"   About a minute ago   Up About a minute (healthy)                               harbor-db
10c07afdfa76        goharbor/harbor-registryctl:v2.1.0   "/home/harbor/start.…"   About a minute ago   Up About a minute (healthy)                               registryctl
8b5295f4be2d        goharbor/redis-photon:v2.1.0         "redis-server /etc/r…"   About a minute ago   Up About a minute (healthy)                               redis
2058a727da79        goharbor/registry-photon:v2.1.0      "/home/harbor/entryp…"   About a minute ago   Up About a minute (healthy)                               registry
8117d47b1cd7        goharbor/harbor-log:v2.1.0           "/bin/sh -c /usr/loc…"   About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp   harbor-log

设置harbor开启启动

# 创建开启启动服务文件
vim /lib/systemd/system/harbor.service

开机启动服务文件内容:

[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose -f  /usr/local/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /usr/local/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target
# 启动harbor
systemctl start harbor

# 设置开机启动
systemctl enable harbor

访问镜像仓库

# 地址
http://10.170.128.9:83/

备注,不用执行:docke-compose相关命令

# 在该目录下执行
cd /usr/local/harbor

docker-compose up -d # 后台启动,如果容器不存在根据镜像自动创建
docker-compose down -v # 停止容器并删除容器
docker-compose start # 启动容器,容器不存在就无法启动,不会自动创建镜像
docker-compose stop # 停止容器
原文地址:https://www.cnblogs.com/zhang-guansheng/p/13752862.html