赞
踩
docker 官方地址
harbor是VMware公司开源的企业级docker registry项目。主要是实现为用户去迅速搭建一个docker registry服务。
提供了可视化UI界面,提供了多个项目的镜像权限管理及控制功能。安装后可以体验下。
Harbor的每个组件都是以Docker 容器的形式构建的,使用docker - compose来对它进行部署。用于部署Harbor 的docker- compose模板位于 harbor/ docker-compose.yml。
1、Proxy: Harbor 的Registry、UI、Token 服务等组件,都处在nginx 反向代理后边。该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。
2、Registry:负责储存Docker 镜像,并处理Docker push/pull 命令。
由于要对用户进行访问控制,即不同用户对Docker镜像有不同的读写权限,Registry 会指向一个Token 服务,强制用户的每次Docker pull/push 请求都要携带一个合法的Token,Registry会通过公钥对Token 进行解密验证。
3、core services: Harbor的核心功能,主要提供以下3个服务
1. UI (harbor-ui) :提供图形化界面,帮助用户管理Registry. 上的镜像(image) ,并对用户进行授权。
2. WebHook: 为了及时获取Registry上 image状态变化的情况,在Registry上配置Webhook, 把状态变化传递给UI模块。
3. Token 服务:负责根据用户权限给每个Docker push/pull 命令签发Token。 Docker 客户端向Registry 服务发起的请求,如果不包含Token, 会被重定向到Token 服务,获得Token 后再重新向Registry 进行请求。
4、Database (harbor-db) :为core services提 供数据库服务,负责储存用户权限、审计日志、Docker镜像分组信息等数据。
5、Job services:主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。
6、Log collector (harbor-log) :负责收集其它组件的log,供日后进行分析,健康检查等
CentOS7.6、docker 、docker-compose 、harbor 包。
- 1.检查内核版本,必须是3.10及以上
- # yum list installed | grep docker
- 2、检查内核版本,必须是3.10及以上
- # uname -r
- 3.把yum包更新到最新
- # yum update
- 4.存在旧版本_删除旧版本
- #sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
- 5.需要的安装包
- # sudo yum install -y yum-utils
- 6.设置镜像的仓库
- # sudo yum-config-manager \
- --add-repo \
- http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 7.更新 yum安装包
- # yum makecache fast
- 8.安装docker
- # sudo yum install docker-ce docker-ce-cli containerd.io
- 9、启动docker
- # systemctl start docker
- 设置开机启动docker
- # systemctl enable docker
- 关闭docker命令
- # systemctl stop docker
- 10、查看版本
- # docker version
- 11、检测是否启动成功,可以使用search命令
- # docker search mysql
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose 使用的三个步骤:
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
最后,执行 docker-compose up 命令来启动并运行整个应用程
下载最新版本 docker-compose 等待自动安装。
curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
二进制文件赋可执行权限
chmod +x /usr/local/bin/docker-compose
测试下docker-compose是否安装成功: docker-compose --version
- # mkdir -p /harbor
- # cd /harbor/
- # wget https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-online-installer-v1.10.10.tgz
- # tar -zxf harbor-online-installer-v1.10.10.tgz
- [root@localhost harbor]# ls
- harbor harbor-online-installer-v1.10.10.tgz
- [root@localhost harbor]# cd harbor
- [root@localhost harbor]# ls
- LICENSE common common.sh docker-compose.yml harbor.yml install.sh prepare
- [root@localhost harbor]# vi harbor.yml
注意:
首先要修改hostname为机器地址,使用的是http,所以https部分需要注掉。端口自定义
在Harbor目录下
- ./install.sh
-
- docker-compose up -d
注意:启动时 docker、docker-compose是正常运行状态。
修改配置文件后 ,避免修改不生效,执行:
- systemctl daemon-reload
- systemctl restart docker
Harbor依赖的镜像及启动服务如下:
根据上面的配置。我这里访问 http://192.168.87.131:5100/
默认用户 和登录密码 可以从 harbor.yml 中找到,官网有个地方也有说明。可以修改中的密码。
admin Harbor12345
页面
1、仓库登录: docker login -u admin -p Harbor12345 http://192.168.87.131:5100 2、制作镜像:可以是下载的镜像、通过dockerFile制作的镜像 docker pull mysql docker build -f DockerFile docker save -o my_image.tar my_image:latest docker save -o images.tar image1:tag1 image2:tag2 image3:tag3 这个命令将会把名为 my_image:latest 的 Docker 镜像保存为一个名为 my_image.tar 的 tar 归档文件 docker load -i my_image.tar : 这个命令将会加载 my_image.tar 文件中的镜像到 Docker 环境中。 3、然后为该镜像打上新的标签,标签格式为:Harbor地址/项目名/镜像名称:镜像标签。如:192.168.87.131:5100/test/action:2403086585 docker tag 1d01459ee952 192.168.87.131:5100/test/action:2403086585 4、将镜像上传到私有仓库 docker push 192.168.87.131:5100/test/action:2403086585 5、下载私有仓库的镜像 docker pull 192.168.87.131:5100/test/action:2403086585
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。