网站首页 > 精选文章 / 正文
简介:Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署。本文将新建一个名称为gzprg的项目,设置不公开。值得注意的是当项目设为公开后,任何人都有对此项目下所有镜像的读权限。命令行用户不需要“docker login”就可以拉取此项目下的镜像。
本文将通过实例介绍Hardor的管理与使用,详细内容请参考下文。
一、查看Harbor运行情况
1、登录Linux系统
2、查看Docker运行情况
执行指令# systemctl status docker
3、查看Harbor运行情况
执行指令# docker-compose ps
二、Harbor私有仓库的使用与管理
1、客户端登录Harbor
访问地址http://docker.gzprg.com,通过账号admin和密码登录
2、服务端登录Harbor
(1)问题
执行指令# docker login docker.gzprg.com
输入账号admin和密码登录
备注:此时可使用 Docker 命令在本地通过docker.gzprg.com来登录和推送镜像。默认情况下,Register 服务器在端口 80 上侦听。
以上操作都是在 Harbor 服务器本地操作。如果其他客户端上传镜像到 Harbor,就会报如下错误。出现这问题的原因 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交互时出现以下错误。
Error response from daemon: Get "https://docker.gzprg.com/v2/": dial tcp 172.16.26.92:443: connect: connection refuse
(2)、决解办法
解决上述问题的方法是通过修改docker.service配置文件。
执行指令# vim /usr/lib/systemd/system/docker.service
修改内容为ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 172.16.26.92 --containerd=/run/containerd/containerd.sock
(3)、重新加载
说明:systemctl daemon-reload重新加载某个服务的配置文件,如果新安装了一个服务,归属于systemctl管理,要是新服务的服务程序配置文件生效,需重新加载。
执行指令# systemctl deamon-reload
(4)、重启docker
执行指令# systemctl restart docker
(5)、重构harbor
执行指令# docker-compose up -d
(6)、登录harbor
执行指令# docker login 127.0.0.1输入账号admin及密码登录
三、Harbor私有仓库的镜像管理
1、客户端访问
2、从docker hub上拉取镜像
执行指令# docker pull node:8.16
执行指令# docker images
3、将需要的镜像保存成一个tar包
执行指令# docker save node:8.16 -o node8.16.tar
4、加载镜像
说明:切换到 node8.16.tar 所在的目录,加载镜像。
执行指令# docker load -i node8.16.tar
5、修改镜像tag
执行指令# docker tag node:8.16 172.16.26.92/gzprg/node:8.16
6、登录harbor
执行指令# docker login 172.16.26.92输入账号admin和密码登录
7、将镜像推送到仓库
执行指令# docker push 172.16.26.92/gzprg/node:8.16
8、客户端查看镜像
9、从harbor私有仓库下载镜像
执行指令# docker pull 172.16.26.92/gzprg/node:8.16
四、Harbor管理指令
1、docker-compose up [options]
选项包括:
-d 在后台运行服务容器
–no-color 不使用颜色来区分不同的服务的控制输出
–no-deps 不启动服务所链接的容器
–force-recreate 强制重新创建容器,不能与–no-recreate同时使用
–no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
–no-build 不自动构建缺失的服务镜像
–build 在启动容器前构建服务镜像
–abort-on-container-exit停止所有容器,如果任何一个容器被停止,不能与-d同时使用
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
–remove-orphans 删除服务中没有在compose文件中定义的容器
–scale SERVICE=NUM 设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数
docker-compose up
启动所有服务
docker-compose up -d
在后台所有启动服务
-f 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d
2、docker-compose ps
执行指令# docker-compose ps 列出项目中目前的所有容器
3、docker-compose stop
执行指令# docker-compose stop停止正在运行的容器,可以通过docker-compose start 再次启动。
4、docker-compose down
执行指令# docker-compose down停用移除所有容器以及网络相关
5、docker-compose logs
执行指令# docker-compose logs查看服务容器的日志
6、docker-compose pull
执行指令# docker-compose pull拉取服务依赖的镜像
7、docker-compose stop
执行指令# docker-compose stop停止服务容器
8、docker-compose rm
执行指令# docker-compose rm删除所有(停止状态的)服务容器。推荐先执行docker-compose stop命令来停止容器。
9、docker-compose start
执行指令# docker-compose start启动已经存在的服务容器
10、docker-compose run
执行指令# docker-compose run在指定容器上执行一个命令。
Tags:harbor安装
猜你喜欢
- 2024-12-16 「云原生」Kubernetes(k8s)最完整版环境部署(V1.24.1)
- 2024-12-16 通过docker-compose 快速部署 harbor
- 2024-12-16 吊炸天的 Docker 图形化工具 Portainer,必须推荐给你
- 2024-12-16 一文详解 Jenkins 与 Docker 的自动化 CI/CD 实战
- 2024-12-16 Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码
- 2024-12-16 Devops实践之K8S部署:Jenkins部署Vue和Php环境
- 2024-12-16 替代虚拟机的容器Docker安装教程——(Windows版)
- 2024-12-16 一个值得信赖的云原生注册中心项目
- 2024-12-16 Linux环境中部署Harbor私有镜像仓库
- 2024-12-16 docker如何搭建个人镜像仓库 docker如何搭建个人镜像仓库视频