Harbor使用 -- 修改80端口

在公网上,通常状况下都不暴露默认端口,避免被攻击!mysql

如下修改harbor的默认80端口为其余端口!nginx

我这里示例修改成1180端口!sql

 

注意:如下步骤都是在harbor目录下操做!!!docker

一、修改docker-compose.yml文件映射为1180端口:vim

 1 #vim docker-compose.yml
 2 
 3 proxy:
 4     image: nginx:1.11.5
 5     container_name: nginx
 6     restart: always
 7     volumes:
 8       - ./common/config/nginx:/etc/nginx
 9     ports:
10       - 1180:80
11       - 1143:443
12     depends_on:
13       - mysql
14       - registry
15       - ui
16       - log

 

二、修改common/templates/registry/config.yml文件加入1180端口:服务器

#vim common/templates/registry/config.yml

auth:
  token:
    issuer: registry-token-issuer
    realm: $ui_url:1180/service/token
    rootcertbundle: /etc/registry/root.crt
    service: token-service

 

三、中止harbor,从新启动并生成配置文件:tcp

#docker-compose stop
# ./install.sh

 

四、修改docker启动文件,设置信任的主机与端口:测试

#vim /usr/lib/systemd/system/docker.service  修改以下一行
ExecStart=/usr/bin/dockerd --insecure-registry=172.16.103.99:1180

 

五、从新启动docker:ui

systemctl daemon-reload
systemctl restart docker.service

 

最后,测试验证:url

# docker login 172.16.103.99:1180
Username: huangjc
Password: 
Login Succeeded

ok,完成!

记得登陆时是1180这个端口哦!!

 

常见的2个报错信息解答:

(1)Error response from daemon: Get https://172.16.103.99/v1/users/: dial tcp 172.16.103.99:443: getsockopt: connection refused

(2)Error response from daemon: Get https://172.16.103.99:1180/v1/users/: http: server gave HTTP response to HTTPS client

报这2个错误的都是以下2个缘由:

一、是端口错了!

二、未在docker启动文件中添加--insecure-registry信任关系!

大多数这个错误是第2个缘由,由于你没有添加信任关系的话,docker默认使用的是https协议,因此端口不对(443),会报链接拒绝这个错误;

或者提示你 "服务器给HTTPS端的是HTTP响应" 这个错误,由于你没添加端口信任,服务器认为这是默认的https访问,返回的倒是http数据!

 

解决方法:

正确的添加信任关系包括端口号:

--insecure-registry=172.16.103.99:1180

必定要把主机与端口同时添加进去!

 

注:

记住,这是harbor镜像仓库,而不是单纯的registry容器仓库!

若是你用的是默认的80端口,则不须要加,或者加上80也行,而不是5000这个端口!

相关文章
相关标签/搜索