纯净CentOS搭建harbor镜像私仓
物理宿主机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:
刷新查看私仓服务器中的镜像:
最新文章
- php字符串操作集锦
- maven报错非法字符:\65279 错误
- Sql Server中常见的数据类型
- 项目实例——多表关联查询判断A的字段是否在B中,在显示该字段值,不在显示空;B的字段是否在C中,在显示该字段值,不在显示空。
- Linux/CentOS 同步网络时间
- html5新特性之音频、视频
- Android 自定义对话框
- 一、oracle 高水位线详解
- hadoop异常:java.lang.RuntimeException: java.lang.NoSuchMethodException
- http报错之return error code:401 unauthorized
- OSGI原形(.NET)
- 优化C/C++代码的小技巧(转)
- Access SQL实现连续及不连续Rank排名
- 02-C#(基础)基本的定义和说明
- 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试
- web页面简单布局的修改,测试中的应用
- 11.python描述符---类的装饰器---@property
- vuejs-devtools浏览器调试chrome插件
- Oracle为表或字段添加备注
- MATLAB 的条件分支语句