docker 搭建私有仓库harbor

1. 准备条件

  • 安装docker
sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum list docker-ce --showduplicates | sort -r

可根据上述显示版本自行安装,本人是默认
sudo yum install docker-ce
docker version
sudo systemctl start docker

因为一般docker操作时都需要root用户权限,这里建议把当前用户加入docker用户组

# 添加 docker 用户组
groupadd docker
# 把需要执行的 docker 用户添加进该组,这里是 eggsy
gpasswd -a eggsy docker
# 重启 docker
systemctl restart docker

如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限 使用root用户执行如下命令,即可

sudo chmod a+rw /var/run/docker.sock
# docker服务开机自启动
systemctl enable docker
  • 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2.安装haobor

2.1下载harbor

这里选择离线包,各位自行选择

https://github.com/goharbor/harbor/releases

2.2准备https证书(不使用https则省略)

由于Docker上传默认使用的Https,为了不影响客户端的使用,这里使用自签泛域名证书的方式进行测试;这一步也可以不做配置,那么就只支持http的上传,客户端就需要指定授权,具体的方式下面会介绍;如果不想配置https证书或者不想配,可以直接跳过本节直接看下一节.

  • 下载代码
git clone https://github.com/Fishdrowned/ssl.git
  • 生成证书
./gen.cert.sh harbor.yunphant.com

如果需要给Ip签名
subjectAltName = IP:192.168.9.28

2.3修改harbor配置

进入harbor文件夹,修改harbor.yml

#主机地址,前面配置的域名
    hostname: hub.lpf.com

    # http 相关的配置
    http:
      port: 80

    # https 相关配置
    # 默认情况下,https的配置都没有开启,由于我们已经生成了自签的正式,这里就做https的ssl证书配置
    # 如果不需要https证书,可以将以下配置注释掉
    https:
      # https 的端口,443地址
      port: 443
      # 签名生成的证书的相关路径
      # 以下的路径请根据个人的具体情况配置
      certificate: /home/data/keys/harbor/hub.lpf.com.crt
      private_key: /home/data/keys/harbor/cert.key.pem

目前我们只修改以上的配置,如果需要更多的配置,可以根据描述进行修改调整;

2.4安装harbor

进入harbor目录

./install.sh

如果出现问题

./prepare
sudo `which docker-compose` up -d

3.https进行镜像操作

  • 客户端需进行以下准备
    /etc/docker/daemon.json的配置文件下添加授权
{
   "insecure-registries":["harbor.yunphant.com","192.168.9.8"]
}

重启

sudo systemctl restart docker

上面可只加ip,域名可配。
如果配置harbor.yunphant.com的话序添加host文件

192.168.9.8 harbor.yunphant.com
  • 客户端添加HTTPS证书
    mkdir -p /etc/docker/certs.d/harbor.yunphant.com // 将上面生成的证书root.crt拷贝到该目录(每个客户端都需要放)
  • 客户端配置host文件(可配)
    192.168.9.8 harbor.yunphant.com
  • 镜像操作
    如果只使用ip,下面将域名改成ip即可
    docker tag node:8.11.3-alpine harbor.yunphant.com/test/node:8.11.3-alpine docker push harbor.yunphant.com/test/node:8.11.3-alpine docker pull harbor.yunphant.com/test/node:8.11.3-alpine

    4.http进行镜像操作

    首先将harbor配置文件修改为http.

  • 所有访问私有仓库的客户端使用准备
    /etc/docker/daemon.json的配置文件下添加授权
    { "insecure-registries":["192.168.9.8:80"] }
    重启
    sudo systemctl restart docker
  • 镜像操作
    1. 登陆网站新建项目test(可选)
      建议根据业务需求新建项目保存对应镜像
    网站:192.168.9.8
    1. 给镜像打tag
    docker tag xxx:xxx 192.168.9.8:80/项目名/xxx:xxx
    
    docker tag node:8.11.3-alpine 192.168.9.8:80/test/node:8.11.3-alpine
    1. 推送镜像(需要登陆)
    docker login 192.168.9.8:80
    用户名:admin
    密码:yunphant
    docker push 192.168.9.8:80/test/node:8.11.3-alpine
    1. 拉取镜像
    docker pull 192.168.9.8:80/test/node:8.11.3-alpine

菜鸟系列docker——搭建私有仓库harbor(6)的更多相关文章

  1. docker 搭建私有仓库 harbor

    前提 已安装好 docker 和  docker-compose 环境:CentOS Linux release 7.5 docker 版本:18.09.05 1.安装harbor wget -P / ...

  2. Docker 搭建私有仓库

    Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...

  3. [Docker]docker搭建私有仓库(ssl、身份认证)

    docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...

  4. Docker搭建私有仓库

    1,下载仓库镜像. docker pull  registry    //主要用于搭建私有仓库的. 2,将宿主机端口映射到容器中去,容器的5000端口是不能更改的. docker run -d -p ...

  5. 搭建私有仓库Harbor

    搭建Harbor企业级docker仓库   搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry ...

  6. docker 搭建私有云仓库

    docker搭建私有仓库   registry私有仓库 下载docker-distribution软件包 yum install epel-release yum install docker-dis ...

  7. Kubernets二进制安装(5)之私有仓库harbor搭建

    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...

  8. Kubernetes-5:搭建企业级私有仓库Harbor

    搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...

  9. docker学习(8) 在mac机上搭建私有仓库

    docker的私有仓库类似maven的私服,一般用于公司内部搭建一个类似docker hub的环境,这样上传.下载镜像速度较快,本文将演示如何在mac上利用docker-machine搭建无需SSL证 ...

随机推荐

  1. 桥接模式(Bridge)---结构型

    1 基础知识 定义:将抽象部分与它的具体实现部分分离,使得它们都可以独立变化.特征:通过组合的方式建立两个之间的联系而不是继承. 使用场景:抽象和具体实现之间增加更多的灵活性:一个类存在两个(多个)独 ...

  2. php实现浏览器大文件分片上传

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  3. UVALive 7178 Irrational Roots 多项式的根

    题意:给你一个首项为1的n阶方程(n<=8),求出方程的无理数的根: #include <cstdio> #include <iostream> #include < ...

  4. 图论小专题C

    3 负环及其应用 3.1 判定算法 判断负环只能用"边松弛"算法,也就是Bellman-Ford和SPFA算法.这两个算法都是\(O(NM)\)级别的.因为负环中一定存在一条负边, ...

  5. 关于Map的问题

    关于Map的问题主要有: (1)什么是散列表? (2)怎么实现一个散列表? (3)java中HashMap实现方式的演进? (4)HashMap的容量有什么特点? (5)HashMap是怎么进行扩容的 ...

  6. BZOJ 2402 陶陶的难题II (树链剖分、线段树、凸包、分数规划)

    毒瘤,毒瘤,毒瘤-- \(30000\)这个数据范围,看上去就是要搞事的啊... 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2402 ...

  7. javaweb和数据库的简易商城系统

    这是一个基于Javaweb和数据库的简易商城系统.为大二夏季小学期完成. 目录结构 主要功能截图为: 一.购买用户 1.首页(除此界面其余界面访问需要登录才能进入) 查看商品 添加购物车 查看购物车 ...

  8. 2个最好的JavaScript编辑器 必须要知道

    JavaScript程序员有许多很好的工具可供选择,几乎太多了.在这篇文章中,介绍2个最好用的文本编辑器,也是顶级的.并且很好地支持使用JavaScript,HTML5和CSS进行开发,并用Markd ...

  9. DS博客作业07——查找

    1.本周学习总结 1.1思维导图 1.2.谈谈你对查找运算的认识及学习体会. 查找的内容和前两章树和图相比,要简单许多,在二次搜索树虽然也要用到树,但是也是很简单的树的操作,再加上查找的代码可以使用m ...

  10. 整合spring boot时操作数据库时报错Caused by: java.lang.InstantiationException: tk.mybatis.mapper.provider.base.B

    原文:https://blog.csdn.net/u__f_o/article/details/82756701 一般出现这种情况,应该是没有扫描到对应的mapper包,即在启动类下配置MapperS ...