北京网站建设网,怎么用手机做一个网站,智慧团建网站官网电脑版,南昌网站建设志博centos7搭建Harbor企业级docker仓库 前言
Harbor是一个企业级的Docker Registry管理项目#xff0c;主要用于存储和分发Docker镜像。它提供了一些企业必需的功能特性#xff0c;如安全、标识和管理等#xff0c;以扩展开源Docker Distribution。
作为企业级私有Registry服…centos7搭建Harbor企业级docker仓库 前言
Harbor是一个企业级的Docker Registry管理项目主要用于存储和分发Docker镜像。它提供了一些企业必需的功能特性如安全、标识和管理等以扩展开源Docker Distribution。
作为企业级私有Registry服务器Harbor提供了更好的性能和安全并提升了用户使用Registry构建和运行环境传输镜像的效率。
Harbor的主要功能包括基于角色的访问控制、用户管理、日志审核、镜像复制和中文支持等。此外它还提供了诸如项目、日志、仓库管理、同步管理和配置管理等基本功能。
通过这些功能Harbor可以帮助用户迅速搭建一个企业级的Docker registry服务确保数据和知识产权在公司内部网络中得到有效管控。 实验环境Centos7.9.2009
安装docker 24.0.7版本
curl -sSL https://get.daocloud.io/docker | sh
启动docker
systemctl start docker安装docker-compose
安装docker-compose的方式有很多种不推荐一
方式一
yum update -y
yum -y install epel-release
yum install python-pip
pip install --upgrade setuptools # 可能由于setuptools版本过低报错
pip install docker-compose # 如果报错可以试试 --ignore-installed
方式二
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
方式三
打开浏览器访问GitHub上的Compose仓库找到最新版本的链接。
将下载命令中的Compose替换为最新版本例如
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
方式四
从github上下载docker-compose的二进制文件
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
docker-compose version
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose安装Harbor1.7.5
wget -P /usr/local/src/ https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.5.tgz # 在线安装
# 最新版本请查看https://github.com/goharbor/harbor/releases/
cd /usr/local/src/
tar zxf harbor-online-installer-v1.7.5.tgz -C /usr/local/
cd /usr/local/harbor/
bash install.sh # 使用--with-clair添加镜像漏洞扫描功能小问题
➜ Please set hostname and other necessary attributes in harbor.cfg first. DO NOT use localhost or 127.0.0.1 for hostname, because Harbor needs to be accessed by external clients.
Please set --with-notary if needs enable Notary in Harbor, and set ui_url_protocol/ssl_cert/ssl_cert_key in harbor.cfg bacause notary must run under https.
Please set --with-clair if needs enable Clair in Harbor
Please set --with-chartmuseum if needs enable Chartmuseum in Harbor请先在harbor.cfg中设置主机名和其他必要的属性。不要使用localhost或127.0.0.1作为主机名因为Harbor需要由外部客户端访问。如果需要请设置--with公证员在Harbor中启用公证员并在Harbor.cfg中设置ui_url_procol/ssl_cert/ssl_cert_key因为公证员必须在https下运行。请设置——如果需要请使用clair启用clair in Harbor请设置——如果需要请使用图表博物馆在海港启用图表博物馆
需要修改配置文件Error response from daemon: login attempt to http://myharbor.com/v2/ failed with status: 404 Not Found
修改vim /etc/hosts
Error response from daemon: Get http://myharbor.com/v2/: dial tcp 192.168.40.106:80: connect: connection refused
修改配置文件
vim /usr/local/harbor/harbor.cfg # harbor配置文件# 找到以下项目并且修改
hostname myharbor.com # 修改访问域名如果使用其它端口请在后面添加端口号如test.com:8080
#邮箱配置根据实际账号配置
email_server smtp.qq.com
email_server_port 465
email_username myharborqq.com
email_password 123456
email_from myharborqq.com # 经测试发现必须要和email_username相同才可以发邮件
email_ssl true # 开启ssl保护使用端口465关闭使用端口25
#禁止用户注册
self_registration off
#设置只有管理员可以创建项目
project_creation_restriction adminonly
#设置管理员密码
harbor_admin_password 123456对Harbor容器集群管理
cd /usr/local/harbor/
docker-compose ps # 查看harbor集群容器安装后已经启动
# ---------- 控制 ----------
# 必须要在/usr/local/harbor/目录下或者-f指定docker-compose.yml
# 启动Harbor
docker-compose start
# 停止Harbor
docker-comose stop
# 重启Harbor
docker-compose restart
# 移除Harbor
docker-compose down -v # -v 参数移除vloume
# 重新创建并启动
docker-compose up -d
# ---------- 控制 ----------登录harbor
默认账号是 admin 密码是 Harbor12345
如有需要可以 修改nginx端口
vim /usr/local/harbor/docker-compose.yml
# 把proxy下的80:80改为8080:80则为使用8080访问harbor
docker-compose stop proxy # proxy其实就是nginx
docker-compose up -d proxy # 重新开启nginx
netstat -lntp # 查看本地打开端口如果有docker-proxy为8080则修改成功
# 如果有安全组防火墙记得先放行对应端口Harbor上传、下载镜像
# 由于使用80端口需要备案harbor页面已经修改为8080端口注意修改harbor.cfg的hostname后需要重新执行install.sh
vim /etc/docker/daemon.json
# 添加 {insecure-registries:[myharbor.com]}
systemctl daemon-reload
systemctl restart docker# 注意此处需要添加端口
docker login myharbor.com:80
假如修改了端口则是
docker login test.com:8080 # 尝试登录# 编写dockerfile
mkdir harbortest cdharbortest
cat EOF Dockerfile
FROM nginx:latest
MAINTAINER test testqq.com
# 配置环境变量
ENV LANGC.UTF-8 TZAsia/Shanghai
EO
# build镜像
docker build -t myharbor.com:80/library/nginx:latest .
# push镜像到远程仓库
docker push myharbor.com:80/library/nginx:latest
# 从远程仓库拉取镜像
docker pull myharbor.com:80/library/nginx:latest