物理宿主机IP:  192.168.1.4

在官网下载 CentOS-7-x86_64-DVD-1810

用Hyper-v建立一代虚机,安装时遇分辨率问题无法继续,需要在选择启动界面按TAB键以编辑启用参数,追加下列参数(注意800*600中的乘号用小号的x)

video=hyperv_fb:800x600

安装完成后 IP 设置为192.168.1.13 ,用root登陆:

一、安装DOCKER

//更新yum
yum -y update //安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 //设置稳定版仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo //安装 docker yum install docker-ce
//启动 docker服务
service docker start
//开机自动启动 docker服务
systemctl enable docker

二、下安装docker-compose

方法一:在线安装,可能因为下载文件不全而出现错误:“Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg”

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

方法二:离线安装

下载地址:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64

下载完成后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose即可。

安装完成后修改此文件的执行权限:

//授权
chmod +x /usr/local/bin/docker-compose

//测试安装
docker-compose --version

其它一些常用的docker-compose命令:

docker-compose up -d                ###后台启动,如果容器不存在根据镜像自动创建

docker-compose down  -v             ###停止容器并删除容器

docker-compose start                 ###启动容器,容器不存在就无法启动,不会自动创建镜像

docker-compose stop                 ###停止容器

三、安装 harbor

下载最新版的离线包
下载地址:https://storage.googleapis.com/harbor-releases/harbor-offline-installer-latest.tgz
上传到任意目录并解压,我把它解压到 /usr/local/ 目录,然后配置解压后harbor目录下的harbor.cfg 文件

cd /usr/local/harbor
vi harbor.cfg

编辑修改harbor.cfg文件内容如下:

# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost,此处我设置为将要使用的域名

hostname = rep.dhis2.org.cn  #也可以是IP地址,如 192.168.1.3

# Harbor启动后,管理员UI登录的密码,默认是Harbor12345,改为admin

harbor_admin_password = admin

harbor的启动依赖一系列的容器,修改容编排文件docker-compose.yml,以配置允许非HTTPs的5000端口

vi docker-compose.yml

编辑内容如下:添加ports端口,为了使用http快速访问。(注意“-”短线后有个空格)

registry:
networks:
- harbor
ports:
- :

初始化配置文件,若是修改了harbor.cfg则需要重新初始化。初始后将丢失镜像数据 。所以如果只修改了common中的配置文件,直接重启即可,不能执行初始化。

./prepare

执行安装命名。注意,只能安装一次,如果要重置容器可以用前面介绍的docker-compose常用命令(修改配置文件后最好把容器删除再创建)。

chmod u+x install.sh   #授权
#安装
./install.sh

访问 http://rep.dhis2.org.cn ,并使用admin/admin登陆

登陆后,选择library项目(也可以自己新建项目),点击“推送镜像” 按钮即可获得客户端的推送命令:见上图黄色部分

四、从其它客户机向私仓推送镜像

客户机首先需要安装docker。为了支持非HTTPS还需要修改文件 /etc/docker/daemon.json (是个json文件,如果没有就创建)

sudo vim /etc/docker/daemon.json

文件内添加 insecure-registries 键值:

 {
 "registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["rep.dhis2.org.cn"]
}

然后,重启客户机的docker

service docker restart

准备要推送到私仓服务器的镜像:

通过tag的方式把私仓的地址打入欲推送的目标镜像,生成一个新镜像,语法如下:(即上图中的“在项目中标记镜像”)

docker tag 原镜像名[:原TAG] rep.dhis2.org.cn/library/放入私仓的镜像名[:私仓镜像TAG]

比如,将客户机中的cheewai/postgis:postgres-11-postgis-2.5镜像推到私仓library项目中,新的镜像名:TAG为 dhis2_db:

docker tag cheewai/postgis:postgres--postgis-2.5 rep.dhis2.org.cn/library/dhis2_db:

此时客户机镜像如下:

远程登陆私仓服务器:

docker login rep.dhis2.org.cn

用第二张图中标黄的语法推送此镜像:

docker push rep.dhis2.org.cn/library/dhis2_db:

刷新查看私仓服务器中的镜像:

纯净CentOS搭建harbor镜像私仓的更多相关文章

  1. CentOS部署Harbor镜像仓库

    关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全.标识.管理等方面做了增强,更适合企业使用: 官方网站:https: ...

  2. 04使用harbor配置私仓

    安装harbor之前,需要安装好Python,Docker,DockerCompose.Python需要2.7以上的版本,Docker需要1.10以上的版本:Docker Compose 需要1.6. ...

  3. ubuntu16搭建harbor镜像库

    参考 https://blog.csdn.net/qq_35720307/article/details/86691752 目的:搭建本地镜像库,方便快速的存放和拉取需要的镜像文件.

  4. kubernetes配置secret拉取私仓镜像

    2017.05.10 19:48* 字数 390 阅读 5216评论 0喜欢 8 对于公司内部的项目, 我们不可能使用公有开放的镜像仓库, 一般情况可能会花钱买docker私仓服务, 或者说自己在服务 ...

  5. docker搭建harbor私有镜像库

    创建harbor私有镜像库 一.部署准备: harbor软件包   在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下   tar zxvf harbor- ...

  6. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  7. 如何搭建自己的Maven远程私仓

    1.首先,配置好Maven,jdk等必备环境 2.配置好环境后,下载最新版本的nexus 下载地址:http://www.sonatype.org/nexus/go 3.打开目录nexus-***\b ...

  8. 搭建Harbor私有镜像仓库--v1.5.1

     搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...

  9. maven私仓搭建——nexus3

    maven私仓搭建——nexus3本文主要介绍maven私仓在windows下的搭建.本文主要参考:http://www.cnblogs.com/bingyeh/p/5913486.html好,下面上 ...

随机推荐

  1. Python--多任务(多进程,多线程,协程)

    1.单核CPU实现“多任务”:(注意:这里的多任务假的,是轮训执行多个任务一段时间) 1)时间片轮转 2)优先级调度算法 2.并行:真的多任务执行(CPU核数>=任务数):即在某个时刻点上,有多 ...

  2. Scala语法01 - 基础语法

  3. TextInput组件的常用属性

    1.TextInput组件基本介绍: TextInput是一个允许用户在应用中通过键盘输入文本的基本组件.本组件的属性提供了多种特性的配置,譬如自动完成.自动大小写.占位文字,以及多种不同的键盘类型( ...

  4. Java集合(7):散列与散列码

    散列的价值在于速度.我们使用数组来保存键的信息,这个信息并不是键本身,而是通过键对象生成一个数字(散列码),作为数组下标.由于数组的容量是固定的,而散列容器的大小是可变的,所以不同的键可以产生相同的数 ...

  5. 1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

    在数据库执行脚本文件时,执行到一半会遇到  这种问题: 出错处:2018-05-14 18:53:38 行号:712454 错误代码: 1293 - Incorrect table definitio ...

  6. 记一次排查mysql数据库连接未关闭问题的过程

    在一些项目中由于一些特殊原因仍然保留着显示的获取数据库连接(Connection).提交事务.回滚事务.关闭连接等操作:其中关闭连接是比较容易疏忽又比较难在前期发现的问题. 我是如何排查连接未关闭的问 ...

  7. STL————vector的用法

    一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...

  8. lua程序设计(第4版)第二章习题

    练习2.1:修改八皇后问题的程序,使其在输出第一个解后即停止运行. 解法:要使得有一个解就返回,首先要获得一个解,然后再返回或停止运行 练习2.2:解决八皇后问题的另一种方式是,先生成1-8之间的所有 ...

  9. 数据传输协议protobuf的使用及案例

    一.交互流程图: 总结点: 问题:一开始设置http请求中content-type 设置为默认文本格式,导致使用http传输body信息的时候必须进行base64加密才可以传输,这样会导致增加传输1/ ...

  10. Spring+SpringMvc+Hibernate整合记录

    Spring+SpringMvc+Hibernate+Maven整合各大配置文件记录 1.Idea新建的Maven架构 2.Maven的对象模型的内容 <project xmlns=" ...