安装docker与harbor

270 阅读1分钟

1.需要的软件包上传

离线安装docker与harbor私有仓库时,需要先检查服务器openssl 是否安装,此处不再赘述。

上传docker-20.10.8.tgz、docker-compose与harbor-offline-installer-v1.9.3.tgz至服务器/root/tools路径下。

#安装包获取路径:
链接:https://pan.baidu.com/s/1L7GjwXhTfZPQATXXFqzUyQ?pwd=qqqq 提取码:qqqq

2.安装docker与docker-compose

①    安装docker-20.10.8.tgz;

tar -zxvf docker-20.10.8.tgz

mv docker/* /usr/bin/

vi /usr/lib/systemd/system/docker.service

chmod +x /usr/lib/systemd/system/docker.service

②  设置私仓服务器域名

echo "192.168.193.110 harbor.horton.com" >>  /etc/hosts

③    配置docker源

cat > /etc/docker/daemon.json <<EOF

{

  "registry-mirrors": ["https:// 192.168.193.110:80"],  #https://地址:80

  "exec-opts": ["native.cgroupdriver=systemd"]   #设置Cgroup Driver为systemd

}

EOF

 
#重启docker
systemctl daemon-reload && systemctl restart docker && systemctl enable docker

#查看版本

docker version

3.安装docker-compose

mv docker-compose/* /usr/local/bin/docker-compose

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

 

#查看版本

docker-compose -version

4.harbor证书配置

①解压harbor离线包并且新建仓库文件夹

tar xzvf harbor-offline-installer-v1.9.3.tgz

mkdir -p /data/{cert,hub} && cd /data/hub

②生成证书

pwd    
/data/hub

#生成 CA 证书私钥

openssl genrsa -out ca.key 4096

#生成 CA 证书

openssl req -x509 -new -nodes -sha512 -days 36500 \ #此处生成10年证书

 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.kylin.com" \

 -key ca.key \

 -out ca.crt

#生成服务器私钥

openssl genrsa -out harbor.kylin.com.key 4096

#生成证书签名请求 (CSR)

openssl req -sha512 -new \

 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN= harbor.kylin.com" \

 -key harbor.kylin.com.key \

 -out harbor.kylin.com.csr

 

 

#生成 x509 v3 扩展文件

cat > v3.ext <<-EOF

authorityKeyIdentifier=keyid,issuer

basicCnotallow=CA:FALSE

keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

extendedKeyUsage = serverAuth

subjectAltName = @alt_names

 

[alt_names]

DNS.1=harbor.kylin.com   #全地址

DNS.2=harbor.kylin       #去掉.com

DNS.3=harbor              #hostname(主机名)

EOF

 

#使用该v3.ext文件为您的 Harbor 主机生成证书

openssl x509 -req -sha512 -days 36500 \

 -extfile v3.ext \

 -CA ca.crt -CAkey ca.key -CAcreateserial \

 -in harbor.kylin.com.csr \

 -out harbor.kylin.com.crt

 

#证书拷贝

cp harbor.kylin.com.crt /data/cert/

cp harbor. kylin.com.key /data/cert/

cp ca.crt /data/cert/

cd /data/cert/ && openssl x509 -inform PEM -in harbor. kylin.com.crt -out harbor. kylin.com.cert

mkdir -p /etc/docker/certs.d/harbor. kylin.com/   #目录harbor. kylin.com,证书指定的什么就设置什么!

cp harbor. kylin.com.cert /etc/docker/certs.d/harbor.kylin.com/

cp harbor. kylin.com.key /etc/docker/certs.d/harbor.kylin.com/

cp ca.crt /etc/docker/certs.d/harbor.kylin.com/

③部署harbor

cd /root/harbor/

备份yml文件:cp harbor.yml harbor.yml.bak

修改配置文件:vim harbor.yml

hostname:192.168.193.110   #IP或 reg.harbor.kylin.com都可
 

#http related config   禁用http所有内容

#http:

  #port for http, default is 80. If https enabled, this port will redirect to https port

#  port: 80    

 

#https related config

https:

  #https port for harbor, default is 443

  port: 443    

  #The path of cert and key files for nginx

  certificate: /data/cert/harbor. kylin.com.crt     #SSL 证书的路径

  private_key: /data/cert/harbor.kylin.com.key     #SSL 密钥的路径

...

harbor_admin_password: Harbor12345     #admin用户密码,自行修改

 

!!!!注意要对其空格,不然会报错

④启动并且本地访问

./install.sh

访问https://192.168.193.110

image.png

5.本地登录docker仓库

docker login harbor.kylin.com

username : admin

password : Harbor12345

 

#问题:Error response for daemon:Get <https://192.168.193.110/v2/> : x509: cannot ……

#解决办法:

vim /usr/lib/systemd/system/docker.service

添加  --insecure-registry

image.png

6.Harbor相关命令

 

#停止harbor,停止容器:

docker-compose stop

image.png

启动容器

docker-compose up -d

image.png