一、规划
两台服务器
192.168.1.100
1. Rancher
2. Docker
192.168.1.101
1. Docker
2. Docker-compose
3. Harbor
注意:Harbor的所有服务组件都是在Docker中部署的,所以官方安装使用Docker-compose快速部署,
所以我们需要安装Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,
所以就要求Docker版本不小于1.10.0,Docker-compose版本不小于1.6.0。
二、安装Docker (都用到Docker)
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看CentOS 版本 。
uname -r
2、配置yum源,yum包更新
## 修改yum源为阿里云
cd /etc/yum.repo.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
yum clean all
yum makecache
yum update
3、安装依赖包
## yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
4、添加docker yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、查看Docker版本并安装
## 查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos @docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
## 安装
yum install docker-ce-18.03.1.ce
6、启动并加入开机启动
systemctl start docker
systemctl enable docker
docker version
三、搭建Rancher
## 在docker的基础上启动rancher服务器,Rancher 服务器是一个 Docker image,
所以其软件本身不需要安装,只需要执行 Docker 命令下载并且成功运行 Docker 服务器镜像即可
## 启动容器并指定端口,如果没有rancher/server镜像会自动下载。执行完成后查看镜像与容器运行情况
docker run -d --restart=always -p 8080:8080 rancher/server
浏览器访问 192.168.1.100:8080 登录到Rancher,设置账户,按照提示,添加主机
添加主机过程中有执行页面给的指令,如
sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.1.100:8080/v1/scripts/89D6198B8CDDADE6271B:1514678400000:CamjEnpk6OMxMWojzsVSSTfXWo
Rancher简单使用,详细使用另说明
四、搭建Harbor仓库
1、Harbor介绍
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
2、Docker-compose 安装
## https://github.com/docker/compose/releases
找到指定的docker-compose,点击进去,Assets 下有对应的安装地址
curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
## 查看是否安装成功
docker-compose --version
3、Harbor 服务搭建
## https://github.com/goharbor/harbor/tags
找到指定的harbor包,右键可以复制下载地址
下载online 或者 offline
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.0.tgz
tar xvf harbor-offline-installer-v1.5.0.tgz
4、修改Harbor参数
cd harbor
[root@localhost harbor]# ll
总用量 854960
drwxr-xr-x 4 root root 35 8月 22 14:16 common
-rw-r--r-- 1 root root 1185 5月 2 23:34 docker-compose.clair.yml
-rw-r--r-- 1 root root 1725 5月 2 23:34 docker-compose.notary.yml
-rw-r--r-- 1 root root 3596 5月 2 23:34 docker-compose.yml
drwxr-xr-x 3 root root 150 5月 2 23:34 ha
-rw-r--r-- 1 root root 6683 8月 22 14:16 harbor.cfg
-rw-r--r-- 1 root root 875401338 5月 2 23:36 harbor.v1.5.0.tar.gz
-rwxr-xr-x 1 root root 5773 5月 2 23:34 install.sh
-rw-r--r-- 1 root root 10771 5月 2 23:34 LICENSE
-rw-r--r-- 1 root root 482 5月 2 23:34 NOTICE
-rwxr-xr-x 1 root root 27379 5月 2 23:34 prepare
可以修改 docker-compose.yml 和 harbor.cfg 两个文件,docker-compose.yml 主要修改registry容器参数 这里默认
harbor.cfg只需要修改hostname为你自己的机器IP或者域名,harbor默认的db连接密码为root123,可以自己修改,也可以保持 默认,harbor初始管理员密码为Harbor12345,可以根据自己需要进行修改,email选项是用来忘记密码重置用的,根据实际情 况修改,如果使用163或者qq邮箱等,需要使用授权码进行登录,此时就不能使用密码登录了,会无效的(qq使用授权码登录 第三方邮箱客户端自行百度)
这里只修改了hostname为 192.168.1.101
./prepare ## 如果都修改完,使用官方自带脚本更新参数,在harbor目录中执行
./install.sh ## 会自动导入镜像并启动对应的容器,可用 docker-compose ps 查看
注:docker-compose 使用
docker-compose up -d ###后台启动,如果容器不存在根据镜像自动创建
docker-compose down -v ###停止容器并删除容器
docker-compose start ###启动容器,容器不存在就无法启动,不会自动创建镜像
docker-compose stop ###停止容器
### 其中操作的所有容器,默认情况下docker-compose就是操作同目录下的docker-compose.yml文件,
如果使用其他yml文件,可以使用 -f 自己指定
5、Hardor 登录及使用
http://192.168.1.101 admin Harbor12345
五、使用Harbor私有仓库push和pull镜像(上传,拉取镜像)
先由别的仓库拉取下来,再上传到自己的私有仓库
vi /etc/docker/daemon.json
{
"insecure-registries": ["192.168.0.0/16", "10.8.0.0/16"],
"registry-mirrors": ["https://ew5e1tep.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
docker info
可以登录要下载的仓库的地址,如:harbor.test.com
docker pull harbor.aek.com/test/erp:v1.1.0
docker tag harbor.aek.com/test/erp:v1.1.0 192.168.1.101/library/erp
docker push 192.168.1.101/library/erp
注:push 可能会报错,需要登录一下自己的仓库,然后再push
docker login 192.168.1.101
username:admin
password:Harbor12345
六、Rancher中调用该镜像
添加服务