小编给大家分享一下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怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!