主机环境

Ip:192.168.1.36 2c 4g

关闭selinux、firewalld、swap

systemctl stop firewalld
setenforce 0   #临时设置,永久设置编辑/etc/selinux/config
swapoff -a  #临时设置,永久设置/etc/fatab

下载软件包

wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz

解压软件包

tar -xf docker-19.03.9.tgz

将解压后的执行文件拷贝到/usr/bin/目录下

cp docker/* /usr/bin/

添加systemd管理配置文件

cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP 
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

配置docker访问镜像地址

cat > /etc/docker/daemon.json << EOF
{
   "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

加载systemd配置

systemctl daemon-reload

启动docker服务并设置为开机自启

systemctl enable docker.service
systemctl start docker

部署docker-compose

下载docker-compose

curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

增加执行权限

chmod +x /usr/local/bin/docker-compose

执行docker-compose查看版本

/usr/local/bin/docker-compose --version

图-1-

部署harbor

下载软件包(从giubub进行查找合适的版本)

https://github.com/goharbor/harbor/releases

解压harbor软件包

tar -xf  harbor-offline-installer-v2.5.0.tgz

修改harbor配置文件(两个访问模式HTTP和HTTPS模式)

采用HTTP配置部署(采与用HTTPS配置部署二选一)

修改配置harbor.yml文件(采用默认的80端口)

cd harbor
mv harbor.yml.tmpl harbor.yml
vi harbor.yml 
#修改harbor的主机地址
#修改harbor的访问端口
#注释掉https模块区域
#修改harbor管理员admin的登录密码
#修改harbor的数据存放目录

图1-2
图1-3

采用HTTPS配置部署(与采用HTTP配置模式二选一)

修改配置harbor.yml文件(采用443端口)

cd harbor
mv harbor.yml.tmpl harbor.yml
vi harbor.yml 
#修改harbor的主机地址
#修改harbor的https访问端口
#打开注释https模块区域
#修改harbor管理员admin的登录密码
#修改harbor的数据存放目录

图1-4

创建harbor证书读取目录
mkdir -p /apps/harbor/cert/
创建https协议自签证书
cd  /apps/harbor/cert/
openssl req -newkey rsa:2048 -nodes -keyout harbor-server.key -x509 -days 365 -out harbor-server.crt

执行安装

./install.sh

查看是否启动成功

docker ps

图1-5

注意事项

注意:
如果开启了https协议,证书是自签证书,访问依然会提示网站不安全提示
如果开启了https协议,docker如果使用此harbor地址,登陆时需要指定https,如正确登录方式“docker login https://192.168.1.36 -u admin -p Harbor12345”,此时是不需要指定443端口,如果使用“docker login 192.168.1.36:443 admin -p Harbor12345”或者“docker login 192.168.1.36 admin -p Harbor12345”是错误的。
如果针对harbor开启了https协议,客户端上传镜像到harbor,镜像名称需要注意,是不需要指定毒443端口,也不需要指定https://协议头,正确的推送harbor镜像名称格式为“192.168.1.36/harbor项目名称/自定义名称:标签”,例如一个镜像名称:标签为“nginx:latest”,harbor的项目名称为“nginx-version”,正确的镜像名称应该改为“docker tag nginx:latest 192.168.1.36/nginx-version/nginx:latest”。错误写法1名称只写到项目名称“docker tag nginx:latest 192.168.1.36/nginx-version:latest”;错误写法2名称写上了https://协议头“docker tag nginx:latest https://192.168.1.36/nginx-version:latest”;错误写法3名称制定了443端口“docker tag nginx:latest 192.168.1.36:443/nginx-version:latest”

如何配置harbor的私有仓库地址:
编辑docker的daemon.json

vi /etc/docker/daemon.json
 {
  "registry-mirrors": ["https://registry.docker-cn.com","https://b9pmyelo.mirror.aliyuncs.com"],
  "insecure-registries": ["https://192.168.1.36","https://域名"]
}

#注意域名无要求可以不写,