运维第二篇:Docker--Harbor私有镜像仓库搭建
先说个我认为比较重要的事情:自从Docker技术出现以后,linux运维的技术门槛大大第降低了。有了Docker以后,linux的程序部署基本已经和Windows一致了。先初始化一台linux服务器,然后安装上Docker。然后再想部署任何系统都直接下载一个官方镜像进行安装部署,可以说是特别的简单。
可以说比windows还简单,原先的管理员还需要源码包安装、调试什么的,下载就运行一个镜像完事,而且服务器需要部署的应用也相当有限,和浩如烟海的windows应用程序来说不值一提。无非就是LAMP,LNMP,TOMCAT,MYSQL,HAPROXY,LVS,KEEPLIVED,MFS,NFS,RADIS等等一些应用,十个手指头都能数得过来。
对于初学的同学来说最大的问题就是要客服字符操作界面恐惧感。实际上一旦上手就特别简单。
还有就是对大型系统未知带来的恐惧,觉得越大型的网站维护越困难,实际恰恰相反,一个大型集群系统,每个服务器都只需要部署一个主要应用,各司其职,只要能弄清楚每个服务器的分工和他们相互的关系就行。反而一些小的系统,为了节省投资,一个服务器需要部署很多的应用,往往在安装过程中一个应用影响到其它的应用,导致整个系统无非正常工作,所以感兴趣的同学都可以来了解一下运维的知识。
好了,我们步入正题,先把我们上篇初始化好的虚拟机克隆到VMware Workstation14.开始部署Harbor。
Harbor简介:我就不抄文档了,直接用自己语言来介绍一下这个Harbor镜像仓库。大家都知道甲方(或者产品经理)对一个项目的需求是永无止境的,而且很有可能当你改了第十个版本的时候,甲方却说还是第一个版本的系统比较好,这个时候作为一个码农估计有10口老血好吐了。为了防止这个事情的出现,一般团队就尽量的一点小的改动就把改项目打包成一个镜像,上传到镜像仓库。这样就v1.0到v10.0版的都保存到镜像仓库中。发布项目只要在真实环境中停止运行原先镜像运行的容器,下载新的镜像,然后运行就部署完成了。如果新的系统出现什么问题,也可以退回到老的版本的系统。所以,我想大家应该已经了解Harbor私有镜像仓库的重要性了吧。OK上干货!
设置系统主机名
hostnamectl set-hostname hub.xujinfu.com
配置ip地址shell脚本
#!/bin/bash
#该脚本用于设置网卡的IP地址
#第一部分:变量的设置
ETH=$(ifconfig | grep "^eth" | awk '{print$1}')
MAC=$(ifconfig | grep "^eth" | awk '{print$5}')
read -p "请输入设置IP地址:" IP
read -p "请输入设置的网关:" GW
read -p "请输入设置的子网掩码:" MASK
read -p "请输入首选DNS服务器:" D1
read -p "请输入备选DNS服务器:" D2#第二部分:写入到配置文件
echo 'DEVICE='$ETH'
HWADDR='$MAC'
TYPE='Ethernet'
BOOTPROTO='static'
IPADDR='$IP'
GATEWAY='$GW'
NETMASK='$MASK'
DNS1='$D1'
DNS2='$D2'' >/etc/sysconfig/network-scripts/ifcfg-$ETH#第三部分:启动服务
ifdown $ETH
ifup $ETH
systemctl restart network
根据提示我们把我们的网络配置如下:
IPADDR=192.168.31.10
NETMASK=255.255.255.0
GATEWAY=192.168.31.2
DNS1=114.114.114.114
#yum版docker-ce、python
yum -y install docker-ce python
systemctl start docker && systemctl enable docker
Install Docker Compose | Docker DocumentationHow to install Docker Composehttps://docs.docker.com/compose/install/#install-compose下载最新版docker compose并安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下载harbor离线安装包
https://github.com/goharbor/harbor/releases
上传到#/root/harbor目录下
cd /root/harbor
tar -xzvf harbor-offline-installer-v1.10.10.tgz
cd 到解压目录
#给安装脚本增加执行权限。
chmod +x insall.sh
vim harbor.cfg
>
修改hostname为自己机器的ip地址
hostname = 192.168.31.10
>
当然,harbor还有很多配置项可以修改,来满足一些企业级的功能特性,比如可以使用https来保证文件传输的安全。在这里,为了可以快速上手,只进行简单的配置。
安装与启动
执行 install.sh 脚本
./install.sh
等待安装完成。
dockers ps -a
查看容器运行情况。
这个是单机版,非常的简单,基本上一次成功。
直接浏览器访问:https://192.168.31.10/harbor/sign-in
看到这个界面就成功了。
用户名:admin 密码:Harbor12345(可以harbor.cfg文件中设置)
然后就是其它的linu服务器要这么登录这个仓库呢?在其它docker客户端
docker login hub.xujinfu.com
没有hosts解析的话可以直接用ipz地址
docker login 192.168.31.10
要求输入用户名和密码,但是会报错,这是因为这个私有镜像仓库不被docker客户端认可。怎么办呢?
vim /etc/docker/daemon.json
{
"insecure-registries": ["https://hub.xujinfu.com"]
}
然后就能正常登录了。
完工!
运维第二篇:Docker--Harbor私有镜像仓库搭建相关推荐
- Docker的私有镜像仓库搭建
Docker的私有镜像仓库搭建 一.配置镜像仓库服务器yum仓库 1.安装docker环境包 2.安装关于的dokcer的yum仓库 3.测试yum仓库 二.安装docker包 三.下载registr ...
- 教你如何用Harbor 私有镜像仓库搭建
一.Harbor是什么? Docker有个形象的比喻叫集装箱,kubernetes是舵手,而Harbor是港湾,其实是用来保存容器镜像的仓库,企业使用docker.kubernetes时,一 ...
- 多个 本地仓库_【运维工具】搭建npm私有镜像仓库,天下苦于npm build久矣
01 前 言 当你的研发团队越来越大,或是你无法忍受node超慢的构建时你可以考虑继续读下去,给大家推荐一个基于Verdaccio相对较完整的解决方案. 由于环境的原因,我们直接去 http://n ...
- 1+X 5G移动网络运维 - 第二篇
- docker搭建harbor私有镜像库
创建harbor私有镜像库 一.部署准备: harbor软件包 在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下 tar zxvf harbor-offl ...
- 企业运维容器之 docker仓库
企业运维容器之 docker 仓库 1. 什么是仓库? 2. Docker hub 3. Registry 工作原理 4. 配置镜像加速器 5. 搭建私有仓库 5. 总结 1. 什么是仓库? Dock ...
- Harbor私有镜像仓库
Harbor简介 CA认证 https通过ssl的加密认证形式:要求http拥有加密认证证书才能转换成https. 私有镜像仓库需要启动https的模式 VMware的开源项目https://gith ...
- Harbor私有镜像仓库(上)
Harbor私有镜像仓库(上) 链接:https://pan.baidu.com/s/1MAb0dllUwmoOk7TeVCZOVQ 提取码:ldt5 复制这段内容后打开百度网盘手机App,操作更方便 ...
- Kubernetes CKA认证运维工程师笔记-Docker快速入门
Kubernetes CKA认证运维工程师笔记-Docker快速入门 1. Docker 概念与安装 1.1 Docker 是什么 1.2 Docker 基本组成 1.3 版本与支持平台 1.4 Do ...
- Docker harbor私有仓库部署与管理
Docker harbor私有仓库部署与管理. 前言 一.什么是Harbor 二.Harbor的特性 三.Harbor的构成 四.Harbor部署 4.1 环境准备 4.2 部署Docker Comp ...
最新文章
- python3的数据类型以及模块的含义
- 人工智能论坛_浙江大学人工智能论坛在北京召开
- 词法分析(3)---DFA
- 《孵化皮克斯》读书第三天
- docker端口映射或启动容器时报错 driver failed programming external connectivity on endpoint
- 最全!最完整的递归下降分析法代码!!! (实验报告,代码)
- ### C++总结-[类成员函数]
- Arcgis10安装说明
- Android笔记 杀死进程demo
- CreateDirectory和SHCreateDirectoryExW区别
- 原来歌这样唱也很好听
- python 连接sql server
- 算法设计分析(44页)
- 工具-WPT(Windows Performances Tool Kit) References
- 铜带屏蔽计算机电缆故障,计算机电缆DJYPVP22-300/500V-2*2*1.0价格
- 野火stm32f407学习笔记----核心板USB转TTL下载
- 数据结构之求二叉树叶子结点个数
- Python入门——文件读写
- fullscan mysql_[InnoDB系列] -- 实测ibbackup vs mysqldump
- IDEA Git 复制分支到新分支 提交到新分支