本次安装环境:
1、Harbor服务器:192.168.0.80/24
2、Docker服务器:192.168.0.150/24
注:安装前请确保服务器能连接互联网,使用yum需要联网下载对应程序包
一、 Harbor端安装配置
1.安装docker
安装依赖
yum install -y yum-utils
执行结果如图:
添加Docker软件包源
yum-config-manager --add-repo \https://download.docker.com/linux/centos/docker-ce.repo
执行结果如图:
安装Docker CE
yum install -y docker-ce
执行结果如下:
启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker
执行结果如下:
2.安装docker compose
下载连接:https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64(下载此包需要注册账号,如果下载失败可私信博主索取)
下载完成后上传docker compose到服务任意目录,并将docker-compose-linux-x86_64移动到系统二进制目录下
mv docker-compose-linux-x86_64 /usr/bin/docker-compose
执行结果如图:
赋予可执行权限,并验证
chmod a+x /usr/bin/docker-compose
docker-compose --help
执行结果如图:
3.部署Harbor HTTP
下载链接:https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
下载完成后上传安装包至任意目录并解压
tar -zxvf harbor-offline-installer-v1.10.10.tgz
执行结果如图:
修改配置文件
cd harbor/
vim harbor.yml
下图为原始配置
> 需要修改第五行主机名为本机IP,不配置https的情况下需要将 13、15、17和18行注释掉,然后按需配置第10行http端口和27行web登录密码
修改过后如图 :
配置log存放路径,默认不改也可以,然后保存退出
如图第87行配置log存放路径
加载配置并安装
./prepare
./install.sh
如图加载配置
执行安装如图
验证
docker-compose
验证如图:
4.访问页面并登录验证
打开浏览器输入http://本机IP
账号:admin
密码默认为:Harbor12345或自己设置的密码
如图登录成功
新建名为test项目,为后续测试上传镜像准备
点击“新建项目”
输入项目信息
如图创建成功
二、Docker安装
1.环境配置
查看内核版本,Docker要求CentOS系统的内核版本高于3.10
Uname -r
检查之前是否安装旧版本或依赖,有则删除
sudo yum remove docker docker-common docker-selinux docker-engine
联网情况下安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
执行结果如下图:
配置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
执行结果如图
可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
2.安装docker
由于repo中默认只开启stable仓库,这里选择安装的是稳定版17.12.0
sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
执行结果如图
根据提示输入y继续安装
启动docker并设置开机自启
systemctl start docker
systemctl enable docker
3.验证
标题验证安装是否成功,有client和service两部分表示docker安装启动都成功了
docker version
查看服务状态,Active为running表示服务启动
systemctl status docker
三、制作镜像
在docker安装的服务器上进行操作
1.下载基础镜像
查看本地镜像列表,现在为空
docker images
下载centos基础镜像
docker pull centos
查看是否下载成功
docker images
2.配置镜像
进入镜像,进入后主机名会变成镜像数值
docker run -it centos
修改镜像,测试随便改动一点东西,这里新建一个名为test.txt的文件
touch test.txt
退出镜像
exit
四、上传镜像至Harbor
在docker安装的服务器上进行操作
1.修改配置文件
修改/ect/docker/daemon.json文件,没有则创建
touch /ect/docker/daemon.json
vi /ect/docker/daemon.json
增加{“insecure-registries”: [“192.168.0.80”]},“192.168.0.80:80” 为Harbor的服务器地址和端口。Harbor默认http端口为80,https为443,若更改这里则写更改过的端口
2.重启docker
重新应用配置并重启docker
systemctl daemon-reload
systemctl restart docker
如下图docker重启报错,则检查刚才/ect/docker/daemon.json文件内容是否有误,标点符号是否是英文等
3.登陆Harbor
登录harbor,账号密码为harbor网页账号信息(参考1.4节),提示Succeeded则表示登录成功
docker login 192.168.0.80:80
4.上传镜像
将本地镜像格式转为harbor格式
docker tag centos:latest 192.168.0.80:80/test/ceshi:v2.1.1
说明:centos:latest为本地镜像名称和TAG值,192.168.0.80:80/test为harbar项目的路径,ceshi:v2.1.1为上传到harbor后的命名及版本号可随意指定
示例:如本地有个镜像名为mysql,TAG值为 latest,需要将这个镜像上传到,192.168.0.100harbor服务器的mysql项目中,则配置如下:
docker tag mysql:latest 192.168.0.100:80/mysql/mysqltest:v3.0
查看转后格式后的镜像信息
docker images
开始上传, 192.168.0.80:80/test/ceshi为转换格式后的名称,v2.1.1为TAG值
docker push 192.168.0.80:80/test/ceshi:v2.1.1
5.验证
登录Harbor>进入test项目可以看到刚才上传的镜像,即表示镜像成功上传至harbor中
总结:两台服务器,1台安装Harbor,1台安装Docker,两台服务器互通且连接互联网,Docker配置完成后制作镜像并上传至Harbor即可。