一、安装必要的依赖
01.安装docker
使用yum 安装工具集yum-utils、数据存储驱动包device-mapper-persistent-data lvm2
yum -y install yum-utils device-mapper-persistent-data lvm2
配置docker的安装源(国内安装源)
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum 仓库的缓存
yum makecache fast
安装docker
yum -y install docker-ce
启动docker
systemctl start docker
查看docket版本信息
docker version
配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jrr4lsdm.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
02.安装docker-compose
官方地址:
https://docs.docker.com/compose/install/
运行以下命令以下载Docker Compose的当前稳定版本:
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
可以创建指向/usr/bin
或路径中任何其他目录的符号链接。
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
查看版本
docker-compose --version
二、安装Harbor
版本:v2.0.0
安装方式:二进制
01.下载harbor的压缩包,官网地址:
https://github.com/goharbor/harbor/releases
02.上传压缩包到Linux,解压
tar xf harbor-offline-installer-v2.0.0-rc3.tgz
03.修改配置文件
cd harbor/
cp -a harbor.yml.tmpl harbor.yml
vim harbor.yml
...
hostname: 192.168.66.33
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
#https:
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
...
04.安装
./prepare
./install.sh
05.启动docker-compose
docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动
06.浏览器访问
默认端口是80,直接输入IP地址访问即可
http://192.168.66.33/harbor/sign-in
默认账户密码:admin/Harbor12345
三、创建用户和项目
01.创建用户
02.创建项目
03.给项目分配用户
04.新用户登录
四、把镜像上传到Harbor
先在服务上拉取一个镜像测试,假装是我们自己打包好的镜像
docker pull redis
[root@harbor harbor]# docker images |grep redis
redis latest 621ceef7494a 2 months ago 104MB
根据harbor提示,先给我们要上传的镜像打上标签,然后再推送
01.给镜像打上标签
docker tag redis:latest 192.168.66.33/dev/redis:v1
02.推送镜像
[root@harbor harbor]# docker push 192.168.66.33:80/dev/redis:v1
The push refers to repository [192.168.66.33:80/dev/redis]
Get https://192.168.66.33/v2/: dial tcp 192.168.66.33:80: connect: connection refused
这时会出现以上报错,是因为Docker没有把Harbor加入信任列表中
03.把Harbor地址加入到Docker信任列表
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://jrr4lsdm.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.66.33:80"]
}
重启docker
systemctl restart docker
04.登录Harbor
命令:
docker login 192.168.66.33:80 -u 用户名 -p 密码
docker login 192.168.66.33:80 -u dev -p Dev123456
05.上传镜像
docker push 192.168.66.33:80/dev/redis:v1
五、从Harbor下载镜像
需求:在另一台服务器(web服务器)拉取镜像
前提:先安装好Docker,添加Harbor到可信任列表
01.安装docker
略
02.将Harbor主机地址添加到配置文件
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://jrr4lsdm.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.66.33:80"]
}
03.先登录,再从Harbor下载镜像
[root@k8s ~]# docker login 192.168.66.33:80 -u dev -p Dev123456
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@k8s ~]# docker pull 192.168.66.33:80/dev/redis:v1
不管是下载镜像,给镜像打标签还是上传镜像,注意都要把IP地址和端口号写在一起,默认80端口也要写,因为Harbor默认的端口是443端口