Docker镜像仓库Harbor怎么用
更新:HHH   时间:2023-1-7


小编给大家分享一下Docker镜像仓库Harbor怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1 安装Docker

cd /etc/yum.repos.d
wget https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl start docker
systemctl enable docker

2 安装 docker-compose

curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version

3 下载 Harbor 安装包

离线地址
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz
在线地址
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.4.tgz

解压:(使用离线包)

tar xf harbor-offline-installer-v1.7.4.tgz

4 自签证书

cd harbor
mkdir ssl  && cd ssl 
#存放证书使用
openssl genrsa -out ca.key 4096

openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=CN/ST=PK/L=PK/O=example/OU=Personal/CN=fuck1899.com" \
    -key ca.key \
    -out ca.crt
openssl genrsa -out fuck1899.com.key 4096


openssl req -sha512 -new \
   -subj "/C=CN/ST=PK/L=PK/O=example/OU=Personal/CN=fuck1899.com" \
   -key fuck1899.com.key \
   -out fuck1899.com.csr 

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth 
subjectAltName = @alt_names

[alt_names]
DNS.1=fuck1899.com
DNS.2=fuck1899.com
DNS.3=hellozz
EOF

openssl x509 -req -sha512 -days 3650 \
   -extfile v3.ext \
   -CA ca.crt -CAkey ca.key -CAcreateserial \
   -in fuck1899.com.csr \
   -out fuck1899.com.crt

openssl x509 -inform PEM -in fuck1899.com.crt -out fuck1899.com.cert
修改配置文件
vim harbor.cfg
修改一下行
hostname = fuck1899.com
ui_url_protocol = https
ssl_cert = ./ssl/fuck1899.com.crt
ssl_cert_key = ./ssl/fuck1899.com.key
主意:如果不需要做自签证的证书只需要修改一下两个配置
customize_crt = off
hostname = fuck1899.com

保存退出
将证书文件拷贝到docker目录下使我们可以通过命令行提交镜像不受自签证书认证影响
mkdir /etc/docker/certs.d/fuck1899.com -p
cp ./ssl/fuck1899.com.cert /etc/docker/certs.d/fuck1899.com/
cp ./ssl/fuck1899.com.key /etc/docker/certs.d/fuck1899.com/
cp ./ssl/ca.crt /etc/docker/certs.d/fuck1899.com/

如果是其他主机命令行提交或者登陆到这个harbor服务器,那么也需要将这个证书文件拷贝到自己主机/etc/docker/certs.d/fuck1899.com下 没有这个目录可以手动创建

是配置生效
./prepare

5 安装

./install.sh
[Step 3]: checking existing instance of Harbor ...
Creating registry ... done
Creating harbor-core ... done
[Step 4]: starting Harbor ...
Creating harbor-portal ... done
Creating nginx ... done
Creating redis ... 
Creating harbor-adminserver ... 
Creating harbor-db ... 
Creating registryctl ... 
Creating registry ... 
Creating harbor-core ... 
Creating harbor-portal ... 
Creating harbor-jobservice ... 
Creating nginx ... 

✔ ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at https://fuck1899.com. 
For more details, please visit https://github.com/goharbor/harbor .

说明已经安装成功

通过docker-compose查看都运行了一些什么镜像

docker-compose ps
       Name                     Command               State                       Ports                    
-----------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up                                                   
harbor-core          /harbor/start.sh                 Up                                                   
harbor-db            /entrypoint.sh postgres          Up      5432/tcp                                     
harbor-jobservice    /harbor/start.sh                 Up                                                   
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp                    
harbor-portal        nginx -g daemon off;             Up      80/tcp                                       
nginx                nginx -g daemon off;             Up      0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp,
                                                              0.0.0.0:80->80/tcp                           
redis                docker-entrypoint.sh redis ...   Up      6379/tcp                                     
registry             /entrypoint.sh /etc/regist ...   Up      5000/tcp                                     
registryctl          /harbor/start.sh                 Up

6 浏览器访问测试

访问签需要添加本机 host 文件,因为这个域名是不真实的

linux 添加hosts 文件

47.244.163.105  fuck1899.com

windows添加 hosts 文件

C:\Windows\System32\drivers\etc

编辑hosts 添加:

服务器IP   fuck1899.com

但是显示是不安全的

 查看证书是否有我们颁发

上图显示证书有我们颁发

 官方解释

请注意,即使我们通过自签名CA签署证书并将CA部署到上述位置,某些浏览器仍可能出于安全原因显示有关证书颁发机构(CA)未知的警告。这是因为自签名CA本质上不是受信任的第三方CA. 您可以自己将CA导入浏览器以解决警告。

7 登陆

默认密码为
admin  Harbor12345
如果你没有修改过的话

linux 端登陆使用

docker login yourdomain.com

windows直接打开地址

8 创建项目等

创建项目
      1  公开
      2 不公开
创建用户

用户关联项目
      1 添加成员
      2 角色授权

9 harbor 上传下载镜像

第一步登陆  输入用户名和密码

docker login fuck1899.com
面交互方式登陆:
docker login -u用户名 -p密码 镜像服务器

第二步 给镜像打tag

docker tag oddrationale/docker-shadowsocks fuck1899.com/sundezhao/ss:v1
#oddrationale/docker-shadowsocks 需要大tag的镜像  
#fuck1899.com  harbor服务器
#sundezhao     项目名称
#ss:v1         tag

第三步 push镜像

docker push fuck1899.com/sundezhao/ss:v1

第四步 查看已经push的镜像

第五步 pull 镜像

docker pull fuck1899.com/sundezhao/ss:v1

10 harbor自带的镜像扫描

1) 安装镜像扫描工具

# ./install.sh --with-clair

2)使用

3)后期维护

sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down -v
vim harbor.cfg
sudo prepare --with-clair
sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml up -d

以上是“Docker镜像仓库Harbor怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!

返回云计算教程...