美文网首页
docker私有镜像仓库搭建

docker私有镜像仓库搭建

作者: 张家锋 | 来源:发表于2018-12-22 12:15 被阅读11次

    Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目

    它主要 提供 Dcoker Registry 管理UI,可基于角色访问控制, AD/LDAP 集成,日志审核等功能,完全的支持中文。

    Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。

    Harbor具有如下特点:

    基于角色的访问控制 - 用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

    镜像复制 - 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。

    图形化用户界面 - 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

    AD/LDAP 支持 - Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。

    审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

    国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。

    RESTful API - RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。

    部署简单 - 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。

    Harbor 获取地址

    Harbor中文官网:https://vmware.github.io/harbor/cn/

    Github地址:https://github.com/vmware/harbor

    Harbor下载地址:https://github.com/vmware/harbor/releases

    Harbor二进制离线包镜像站点:http://harbor.orientsoft.cn/

    我这里下载的是 harbor-offline-installer-v1.5.0.tgz

    安装前准备

    系统版本 centos7

    安装docker

    详情请看 基于容器安装运行Docker私有仓库及添加认证 ,具体命令如下:

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo

    [kubernetes]

    name=Kubernetes

    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

    enabled=1

    gpgcheck=1

    repo_gpgcheck=1

    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

    exclude=kube*

    EOF

    ## Install prerequisites.

    yum install -y yum-utils device-mapper-persistent-data lvm2

    ## Add docker repository.

    ##yum-config-manager -y --add-repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo

    yum-config-manager -y --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    ## Install docker.

    yum makecache fast && yum -y install docker-ce-18.06.1.ce

    ## Create /etc/docker directory.

    mkdir /etc/docker

    # Setup daemon.

    mkdir -p /etc/systemd/system/docker.service.d

    # Restart docker.

    systemctl daemon-reload

    systemctl enable docker

    systemctl restart docker

    systemctl status docker

    systemctl disable firewalld

    systemctl stop firewalld

    # Set SELinux in permissive mode (effectively disabling it)

    # 将 SELinux 设置为 permissive 模式(将其禁用)

    setenforce 0

    sed -i 's/^SELINUX=.*$/SELINUX=permissive/' /etc/selinux/config

    swapoff -a

    修改docker启动文件

    #vi /usr/lib/systemd/system/docker.service  修改为ExecStart=/usr/bin/dockerd --insecure-registry=192.168.163.139  ------------ip写自己的ip但是不要写127.0.0.1

    安装docker-compose

    # yum -y install epel-release

    # yum -y install python-pip

    #yum install -y docker-compose

    # docker-compose -version

    下载注册库镜像

    #docker pull registry:2

    安装harbor

    #tar zxvf harbor-offline-installer-v1.5.0.tgz

    #cd harbor

    #sed -i "s/^hostname = reg.mydomain.com/hostname = 192.168.163.139/g" harbor.cfg

    #./install.sh

    注意将这个地方的IP改成自己机器的IP,不要使用localhost,127.0.0.1

    安装成功后,如下:

    Creating registry ... done

    Creating harbor-ui ... done

    Creating network "harbor_harbor" with the default driver

    Creating nginx ... done

    Creating harbor-db ...

    Creating harbor-adminserver ...

    Creating registry ...

    Creating harbor-ui ...

    Creating harbor-jobservice ...

    Creating nginx ...

    ✔ ----Harbor has been installed and started successfully.----

    Now you should be able to visit the admin portal at http://192.168.163.139.

    For more details, please visit https://github.com/vmware/harbor .

    安装完成后通过浏览器访问http://192.168.163.139,如下:

    默认登录用户名密码:admin/Harbor12345

    登陆后的见面如下:

    下来我们是用docker login登录,如下:

    这个地方输入的用户名密码是我们刚安装的Harbor的登录用户名密码

    下面将我们构建的JDK和SpringBoot demo镜像push到我们搭建的私有仓库上

    创建仓库

    现在我们在浏览器管理端创建个项目,如下

    确定后,下来我们再到终端命令行将image的名字修改为格式:userip/项目名/image名字:版本号

    首先我们查看一下本地镜像:docker images

    给要push到私有仓库的镜像打上tag:

    docker tag zjf/springboot 192.168.163.139/spring/zjf/springboot

    zjf/springboot是我们本地的镜像名称,

    192.168.163.139是我们私有仓库服务的IP地址

    spring是我们刚才建立的项目名称

    然后docker images就可以看到我们的tag镜像

    然后将刚才打上tag的镜像push到私有仓库上

    docker push 192.168.163.139/spring/zjf/springboot

    然后我们就可以在web界面看到我们的镜像文件了

    相关文章

      网友评论

          本文标题:docker私有镜像仓库搭建

          本文链接:https://www.haomeiwen.com/subject/sodikqtx.html