Docker搭建Harbor公开仓库的方法示例_docker

来源:脚本之家  责任编辑:小易  

Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点Hadoop集群的详细步骤。作者在发现目前的HadooponDocker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。一.项目简介GitHub:kiwanlau/hadoop-cluster-docker直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地在本机搭建多节点的Hadoop集群。其实这个想法已经有了不少实现,但是都不是很理想,他们或者镜像太大,或者使用太慢,或者使用了第三方工具使得使用起来过于复杂。下表为一些已知的HadooponDocker项目以及其存在的问题www.zgxue.com防采集请勿采集本网。

上一篇博文讲到了Registry私有仓库,今天配置一下Harbor仓库,Harbor呢可以作为公开仓库,也可以作为私有仓库,今天就来配置一下Harbor如何实现公开仓库和私有仓库。

import java.util.regex.Pattern;public class SplitDemo { private static final String REGEX=\":;private static final String INPUT=\"one:two:three:four:five;public static void main(String[]args){

关于Registry公开仓库请访问博文:部署Docker私有仓库Registry

官方镜像下的简单示例 本节中,将创建一个 Container 来运行 Docker 的官方 Registry 镜像。你将推送(Push)一个镜像到这个 Registry 服务器,然后再从该 Registry 中拉取(Pull)同一个镜像。

Registry和Harbor的区别 Registry:是一个私有镜像仓库,图形化支持较差,小型企业使用; Harbor:支持可视化管理,支持私有仓库和公有仓库,支持镜像的管理控制;

本文将指导你如何搭建私有docker registry,并确保其安全性。在本教程的最后,你将亲身体验上传自制的docker镜像到私有registry,并在不同的机器上安全的将该其拉去下来。本教程不包含如何容器化

Docker Harbor的优点 VMWare公司的开源镜像管理解决方案; 支持图形化管理; 方便访问和配置; 方便镜像访问控制; 支持镜像负责策略; 审计统计用户访问镜像使用情况;

准备工作 现在有非常多的Java Web框架,但我这里并不打算使用它们。我只想要的是一个小的框架所以我选择了Spark,它是一个基于Java 8的极小的框架。Spark使用Maven作为构建工具。源代码和配置

Docker Harbor依赖的程序 Python; 安装Docker; Docker Compose;

最方便的方式是下载一个php集成开发环境。然后安装即可。比如常用的php集成环境:xampp,phpstudy,wampserver等等。这样解决就可以了,简单粗暴,个人建议还是去后盾网去经常看看教学视频学习

一、搭建Harbor仓库

案例描述:

两台CentOS7.4,一台服务器端,一台客户端(测试使用);

两台服务器都要安装Docker服务,我这里Docker版本是19.03.9版本;

关于Docker容器的安装请访问:安装Docker.v19。03.9版本

1、配置Docker Compose

访问道云官网,找到安装Docker Compose,复制命令到Docker服务器端:道云

[root@centos01 ~]# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose <!--下载Docker Compose-->[root@centos01 ~]# chmod +x /usr/local/bin/docker-compose <!--Docker Compose添加执行权限-->[root@centos01 ~]# docker-compose -v <!--查看Docker Compose版本-->docker-compose version 1.25.5, build 8a1c60f6

2、配置Docker Harbor公开仓库

1)打开Github官网

打开Github官网搜索harbor,再点击goharbor/harbor,再点击“releases”,根据自己所需,下载相应的版本,上传至服务器(网址如下:https://github.com/goharbor/harbor/releases 也可下载在线安装的包,我没试过,可自行尝试),如下:

2)配置Harbor仓库

harbor-online-installer-v1.9.1.tgz <!--上传Harbor压缩包-->[root@centos01 ~]# tar zxvf harbor-online-installer-v1.9.1.tgz -C /usr/local/ <!--解压缩harbor到/usr/local/目录-->[root@centos01 ~]# cd /usr/local/harbor/ <!--进入Harbor目录-->[root@centos01 harbor]# cp harbor.yml harbor.yml.bak <!--备份Harbor主配置文件-->[root@centos01 harbor]# vim harbor.yml <!--修改Harbor主配置文件--> 5 hostname: 192.168.100.10 <!--修改为Docker服务器端IP地址即可--><!--hostname可以写域名,不过域名还需要更改hosts文件或者安装DNS,我这里就用IP地址--> 8 http: <!--采用http协议-->10 port: 80 <!--80端口号-->27 harbor_admin_password: Harbor12345 <!--默认密码,可以自定义-->[root@centos01 harbor]# ./install.sh <!--安装Harbor-->[Step 0]: checking installation environment ...Note: docker version: 19.03.9Note: docker-compose version: 1.25.5……………… <!--此处省略部分内容-->Creating harbor-log ... doneCreating registryctl ... doneCreating redis ... doneCreating harbor-portal ... doneCreating registry ... doneCreating harbor-db ... doneCreating harbor-core ... doneCreating nginx ... doneCreating harbor-jobservice ... done✔ ----Harbor has been installed and started successfully.----Now you should be able to visit the admin portal at http://www.benet.com .For more details, please visit https://github.com/goharbor/harbor . <!--安装完成出现以上代码表示成功-->[root@centos01 ~]# vim /usr/lib/systemd/system/docker.service <!--编辑此配置文件-->14 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.100.10:80 <!--定位到此行,后面添加“--insecure-registr”以便指定Harbor的IP及其监听端口-->[root@centos01 harbor]# systemctl daemon-reload <!--守护进程方式运行docker-->[root@centos01 harbor]# systemctl restart docker <!--重新启动Docker服务-->[root@centos01 harbor]# docker-compose stop <!--停止所有容器-->[root@centos01 harbor]# docker-compose start <!--启动所有容器-->[root@centos01 harbor]# netstat -anptu |grep 80 <!--监听80端口-->tcp6 0 0 :::80 :::* LISTEN 23473/docker-proxy

3)安装完成浏览器访问Harbor仓库

4)创建一个公开仓库

5)确保image公开仓库已经创建成功

6)Docker服务器端登录Harbor仓库

[root@centos01 ~]# docker login -uadmin -pHarbor12345 192.168.100.10:80 <!--登录Harbor仓库-->WARNING! Using --password via the CLI is insecure. Use --password-stdin.WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded <!--出现此提示表示登录成功-->[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:80/image/nginx:nginx <!--修改镜像标签-->[root@centos01 ~]# docker push 192.168.100.10:80/image/nginx:nginx <!--上传镜像到Harbor仓库-->[root@centos01 ~]# docker logout 192.168.100.10:80 <!--Docker服务器退出Harbor-->Removing login credentials for 192.168.100.10:80

7)Harbor查看镜像是否上传成功

3、配置Docker客户端

<!--Docker客户端安装Docker服务-->1)修改配置文件加载Docker Harbor服务器[root@centos02 ~]# vim /usr/lib/systemd/system/docker.service <!--编辑此配置文件-->ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.100.10:80 <!--定位到此行,后面添加“--insecure-registr”以便指定Harbor的IP及其监听端口-->[root@centos02 ~]# systemctl daemon-reload <!--守护进程运行docker-->[root@centos02 ~]# systemctl restart docker <!--重新启动docker服务-->[root@centos02 ~]# docker login -uadmin -pHarbor12345 192.168.100.10:80 <!--docker客户端登录Harbor-->WARNING! Using --password via the CLI is insecure. Use --password-stdin.WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded <!--登录成功-->[root@centos02 ~]# docker pull 192.168.100.10:80/image/nginx:nginx <!--docker客户端下载Harbor公开仓库中的镜像-->[root@centos02 ~]# docker images <!--查看Docker客户端镜像-->REPOSITORY TAG IMAGE ID CREATED SIZE192.168.100.10:80/image/nginx nginx 1b6b1fe7261e 7 days ago 647MB

4、创建Harbor私有仓库

1)创建私有仓库

2)创建一个用户

3)将刚创建的private用户添加到private私有仓库中

4)上传镜像到Harbor私有仓库

[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:80/private/tomcat:tomcat <!--Docker服务器修改镜像标签-->[root@centos01 ~]# docker login -uprivate -pHarbor12345 192.168.100.10:80 <!--登录Harbor私有仓库-->WARNING! Using --password via the CLI is insecure. Use --password-stdin.WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded <!--登录成功-->[root@centos01 ~]# docker push 192.168.100.10:80/private/tomcat:tomcat <!--上传镜像到private私有仓库-->

5)Harbor查看镜像是否上传成功

6)Docker客户端下载私有仓库中的镜像

[root@centos02 ~]# docker login -uprivate -pHarbor12345 192.168.100.10:80 <!--Docker客户端登录Harbor私有仓库-->WARNING! Using --password via the CLI is insecure. Use --password-stdin.WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded <!--登录成功-->[root@centos02 ~]# docker pull 192.168.100.10:80/private/tomcat:tomcat <!--Docker客户端下载Harbor私有仓库中的镜像-->[root@centos02 ~]# docker images <!--Docker客户端查看镜像是否下载成功-->REPOSITORY TAG IMAGE ID CREATED SIZE192.168.100.10:80/image/nginx nginx 1b6b1fe7261e 7 days ago 647MB192.168.100.10:80/private/tomcat tomcat 1b6b1fe7261e 7 days ago 647MB

7)Harbor支持日志统计功能

到此这篇关于Docker搭建Harbor公开仓库的方法示例的文章就介绍到这了,更多相关Docker搭建Harbor公开仓库内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

首先需要进行简单的配置,配置文件为harbor.cfg,配置项如下:hostname:hostname为外部可访问的地址,即bind addr,通常设置为本地公有IP,若内部使用DNS,可设置为主机名。auth_mode:Harbor支持两种认证方式,默认为本地存储,即账号信息存储在mysql下!内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • docker搭建私有仓库(registry与harbor)的实现
  • docker私服仓库harbor安装的步骤详解
  • docker私库harbor的架构与组件说明
  • docker 搭建私有仓库(registry、harbor)
  • 详解基于harbor搭建docker私有镜像仓库
  • 详解docker镜像提交命令commit的工作原理和使用方法
  • win7下docker安装与报错问题的解决方法
  • 详解使用docker 1.12 搭建多主机docker swarm集群
  • docker 网络命令详解
  • 在ubuntu中安装docker教程
  • docker中搭建overlay 网络实验环境
  • docker基础学习之数据管理
  • docker machine深入学习
  • docker日常使用的实用小技巧总结(推荐)
  • 使用jib打包docker镜像实战
  • 怎么将docker镜像push到harbor
  • docker快速搭建几个常用的第三方服务
  • 如何用docker搭建一台虚拟机
  • 如何搭建docker swarm
  • 怎么用 Docker 搭建一个 CI 系统
  • 如何搭建及使用docker registry
  • 如何使用Docker搭建私有的DNSServer
  • 如何搭建docker环境和使用spark的docker镜像文件
  • 怎么使用Docker搭建PHP开发环境
  • 如何从零开始搭建Docker Swarm集群
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化docker上一篇部署docker私有仓库registry安装docker.v19。03.9版本docker搭建私有仓库(registry与harbor)的实现docker私服仓库harbor安装的步骤详解docker私库harbor的架构与组件说明docker 搭建私有仓库(registry、harbor)详解基于harbor搭建docker私有镜像仓库详解docker镜像提交命令commit的工作原理和使用方法win7下docker安装与报错问题的解决方法详解使用docker 1.12 搭建多主机docker swarm集群docker 网络命令详解在ubuntu中安装docker教程docker中搭建overlay 网络实验环境docker基础学习之数据管理docker machine深入学习docker日常使用的实用小技巧总结(推荐)使用jib打包docker镜像实战docker 给运行中的容器设置端口映docker 清理命令集锦docker获取镜像报错docker: erroubuntu14.04+docker的安装及使用docker.service启动失败:unit ndocker容器如何优雅的终止详解浅谈docker-compose网络设置之necentos7 安装docker 解决启动不了详解docker国内镜像拉取和镜像加docker如何固定ip设置的方法利用dockerfile制作java运行环境的镜像的详解如何使用docker快速部署elk环境(最新详解docker 允许主机ssh连接到docker容器编写最佳的dockerfile的方法docker创建镜像两种方法详解docker容器内应用服务自启动的方法示例docker容器内存限制的方法详解asp.net core 网站在docker中运行dockerfile指令详解centos7安装docker compse踩过的坑及解决
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved