首页 > 其他分享 >docker学习笔记:harbor私有仓库的搭建以及简单应用

docker学习笔记:harbor私有仓库的搭建以及简单应用

时间:2023-05-23 18:01:57浏览次数:46  
标签:harbor 私有 myharbor 镜像 docker root

harbor私有仓库

简介

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能

搭建私有仓库的软件

  • harbor
  • nexus
  • docker register,官方提供的

下面我将介绍搭建harbor私有仓库以及进行简单的应用

架构图

在这里插入图片描述

搭建harbor私有仓库

软件环境

软件 版本
Docker engine 版本 17.06.0-ce+ 或更高版本
Docker Compose 版本 1.18.0 或更高版本
harbor 版本2.5.3或更高版本

1.官网下载harbor,docker-compose命令行插件,上传到linux

Releases · goharbor/harbor (github.com)

[root@docker ~]# mkdir /myharbor
[root@docker ~]# cd /myharbor/
[root@docker myharbor]# ls
[root@docker myharbor]# ls
docker-compose  harbor-offline-installer-v2.5.3.tgz

2.将docker-compose命令行插件赋予可执行权限并加入环境变量,解压harbor软件包

[root@docker myharbor]# chmod +x docker-compose 
[root@docker myharbor]# ls
docker-compose  harbor-offline-installer-v2.5.3.tgz
[root@docker myharbor]# mv docker-compose /usr/bin/
[root@docker myharbor]# tar xf harbor-offline-installer-v2.5.3.tgz 

3.进入解压后的harbor文件夹,修改harbor.yml.tmpl为harbor.yml

[root@docker myharbor]# cd harbor
[root@docker harbor]# ls
common.sh  harbor.v2.5.3.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@docker harbor]# mv harbor.yml.tmpl harbor.yml

4.修改harbor.yml配置文件

[root@docker harbor]# vim harbor.yml 

hostname: 192.168.31.129

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 8089

在这里插入图片描述

5.安装

[root@docker harbor]# ./install.sh

在这里插入图片描述

6.网页访问

在这里插入图片描述

7.登录harbor

默认账号admin

密码Harbor12345

在这里插入图片描述

8.新建项目,新建用户并设置为管理员

在这里插入图片描述

在这里插入图片描述

9.本机上传镜像到harbor私有仓库myrepo

准备上传本机的nginx:latest这个镜像

修改/etc/docker/daemon.json文件,重启docker服务

[root@docker harbor]# vim /etc/docker/daemon.json 

{
  "registry-mirrors": ["https://52152375.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.31.129:8089"]
}
[root@docker harbor]# systemctl daemon-reload
[root@docker harbor]# systemctl restart docker

在这里插入图片描述

登录harbor

[root@docker harbor]# docker login 192.168.31.129:8089
Username: felix
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

用户和密码是当时在harbor网页上新建的用户和密码

标记镜像

[root@docker harbor]# docker tag nginx:latest 192.168.31.129:8089/myrepo/nginx:latest

上传镜像到myrepo私有仓库

[root@docker harbor]# docker push 192.168.31.129:8089/myrepo/nginx

网页查看镜像

在这里插入图片描述

发现了上传的镜像!

10.本机拉取harbor私有仓库的镜像

删除原来的nginx:latest镜像

[root@docker harbor]# docker rmi nginx:latest

从私有仓库拉取之前上传的nginx:latest镜像

[root@docker harbor]# docker pull 192.168.31.129:8089/myrepo/nginx

查看镜像

[root@docker harbor]# docker images

在这里插入图片描述

测试成功!

出现的问题

docker login登陆不上harbor

  1. 账号密码可能输入错误
  2. 建议关闭selinux、firewalld
  3. 修改/etc/docker/daemon.json,加入 "insecure-registries":["192.168.31.129:8089"]--你自己搭建的私有仓库,然后记得刷新daemon和docker服务
  4. 可以尝试重启以下harbor

harbor通过./install安装失败

  1. 注释掉harbor.yml配置文件里的https功能,不启用

标签:harbor,私有,myharbor,镜像,docker,root
From: https://blog.51cto.com/u_16070827/6333886

相关文章

  • docker学习笔记:Prometheus+cAdvisor搭建容器监控
    Prometheus+cAdvisor容器监控简介Prometheus官网Prometheus-Monitoringsystem&timeseriesdatabaseCNCF云原生基金会的第二个项目cAdvisorcAdvisor(ContainerAdvisor)是Google开源的一个容器监控工具,可用于对容器资源的使用情况和性能进行监控。它以守护进程方式......
  • harbor 一键安装
    #!/bin/bashDOCKER_VERSION="20.10.10"DOCKER_COMPOSE_VERSION=2.6.1#DOCKER_COMPOSE_VERSION=1.29.2DOCKER_COMPOSE_FILE=docker-compose-Linux-x86_64HARBOR_VERSION=2.5.2HARBOR_BASE=/appHARBOR_PORT=8800HARBOR_NAME=harbor.zxk.org#HARBOR_NAME=`hostname-I......
  • docker 安装 nginx
    从https://blog.csdn.net/u010148813/article/details/126172372摘要的内容1.下载镜像dockerpullnginx:1.22.02.创建挂载目录mkdir/root/apply/docker/apply/nginx3.从容器中复制要挂载的文件dockerrun--namenginx1.22-p10080:80-dnginx:1.22.0dockercpngi......
  • 动力节点Docker深入浅出(一)Docker概述
    分享一下最近正在b站上看动力节点的docker课程,整理了相关学习笔记,会按照学习进度慢慢更新的,加油本套课程适合零基础、技术提升乃至所有编程语言开发者;课程对应包含含基础篇、提升篇与高级篇,共计十二大章节。本课程主要学习知识点:“7个深度/3个全面”;针对Docker的知识体系,无......
  • https部署与docker下nginx的转发+文件获取
    进入nginx容器查看是否有etc/nginx/cert目录将https的域名证书放到cert目录下配置80和443server{#listen80;#侦听80端口listen80;#侦听443端口,用于SSLserver_name127.zyfdtsite.com;client_max_body_size1024m;#charsetkoi8-r;#acc......
  • Docker如何上传本地文件到容器目录?
    先贴上命令:dockercp本地文件路径ID全称:容器路径下面来举个例子:我要把本地电脑的mysql-connector-java-5.1.46.jar上传到Linux下Docker里面的logstash容器下的/usr/share/logstash/lib目录。1.首先使用ssh工具上传jar包到Linux的/usr/local目录:2.使用docker命令赋值到docker容器......
  • 使用prometheus监控docker
    CAdvisorCAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。安装部署#安装部署dockerpullgoogle/cadvisor:v0.24.1#centos7上安装指定版本#启动d......
  • 基于Docker安装RabbitMQ
    安装步骤1.在线拉取dockerpullrabbitmq:3-management2.安装RabbitMQdockerrun\-eRABBITMQ_DEFAULT_USER=wzh\-eRABBITMQ_DEFAULT_PASS=1234\-vmq-plugins:/plugins\--namemq\--hostnamemq\-p15672:15672\-p5672:5672\-d\rabbitmq:3-m......
  • python的私有属性
    对于python来说,其并没有像C#、Java那样使用关键字的形式对变量进行访问控制而是使用左至少两个下划线,右至多一个下划线的形式(__kwargs)表明一个变量是私有变量第一种场景,没有使用私有变量,结果与预期有出入,结果输出b3而在我们的预期中,子类传入两个kwargs,子类的init函数对kwarg......
  • docker 容器备份和恢复
    1、将容器生成镜像dockercommit-pe2882bb3b904keyan-42-backup-202305222、将镜像保存为tar文件dockersave-okeyan-42-backup-20230522.tarkeyan-42-backup-202305223、恢复dockerload-ikeyan-42-backup-20230522.tar ......