目录

1.安装docker

2.安装Docker Compose

2.1 官网说明

 2.2.1下载 Docker Compose 的当前稳定版本:

 3.下载harbor

3.6 安装

3.9.2出现报错:

3.10 解决办法一:

 3.11  解决方法二:

 4.推送镜像到harbor

 4.2 镜像tag

4.3 推送镜像

4.3.2 报错分析

4.3.3 重新打tag标签

4.3.4 push重新推送

 4.3.4 查看harbor结果

5.1从harbor拉取镜像

5.1.1 注册新text账户

5.1.2 退出admin账号

5.1.3 使用注册的text账户登陆

5.2  出现报错

5.3 上传没有在运行的镜像,再重新拉取

5.3.1 删除还是会报错

5.3.2  使用repository和tag的方式来删除

5.3.3 拉取上传的镜像


1.安装docker

yum -y install docker

2.安装Docker Compose

官方文档:Install Docker Compose | Docker Documentation

国内镜像地址网站:DaoCloud | Docker 极速下载

2.1 官网说明

 2.2.1下载 Docker Compose 的当前稳定版本:

官方连接,速度较慢

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

可以使用国内镜像站

curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2.2.2 对二进制文件应用可执行权限:

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

2.2.3 测试安装

docker-compose --version

2.2.4 查看结果

 3.下载harbor

官方地址:https://github.com/goharbor/harbor/releases

3.1 下载harbor

wget  https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-online-installer-v2.4.2.tgz

 3.2 解压

tar  zxvf harbor-online-installer-v2.4.2.tgz

3.3 编辑harbor文件

cp harbor.yml.tmpl   harbor.yml
vim harbor.yml

3.4 配置文件harbor.yml详解:

# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
hostname = 192.168.126.162

# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
ui_url_protocol = http

# mysql数据库root用户默认密码root123,实际使用时修改下
db_password = 123456

max_job_workers = 3 

customize_crt = on

ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

secretkey_path = /data

admiral_url = NA
# 邮件设置,发送重置密码邮件时使用
email_identity = 

email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false

# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = 123456

# 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
auth_mode = db_auth

# LDAP认证时配置项
ldap_url = ldaps://ldap.mydomain.com
#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
#ldap_search_pwd = password
ldap_basedn = ou=people,dc=mydomain,dc=com
#ldap_filter = (objectClass=person)
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5

# 是否开启自注册
self_registration = on

# token有效时间,默认30分钟
token_expiration = 30

# 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
project_creation_restriction = everyone

verify_remote_cert = on
————————————————
版权声明:本文为CSDN博主「邋遢的流浪剑客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40378034/article/details/90752212

我修改了hostname为服务器的IP地址,注释了https部分,其余没变

3.5 准备

./prepare  #运行准备,查看是否可以启动harbor,条件是否充分

 第一个报错反馈,没有启动docker

第二个报错反馈,缺少先关服务,已经在自动安装中

3.6 安装

.install.sh

3.7 查看harbor依赖的服务是否启动

docker-compose ps

3.8 登陆harbor

用户名:admin

密码:Harbor12345 

3.9 尝试推镜像

3.9.1 登陆

 docker login 103.21.117.119

3.9.2出现报错:

[root@wangsh-k8s harbor]# docker login 103.21.117.119
Username: admin
Password:
Error response from daemon: Get "https://103.21.117.119/v2/": dial tcp 103.21.117.119:443: connect: connection refused

3.10 解决办法一:

[root@localhost ~]# find / -name docker.service -type f
/usr/lib/systemd/system/docker.service

修改配置文件,ExecStart之后添加 --insecure-registry=http://xxx

查看相关dock-compose 服务没有启动

systemctr rstart docker   重启docker服务
docker-compose  up  -d    后台启动docker-compuse
docker-compose ps         查看docker-compose相关服务是否都启动了

 3.10.2 重新登录

 3.11  解决方法二:

 vim /etc/docker/daemon.json
{
        "insecure-registries" : ["103.21.117.xxx"]

}

重启docker,重启docker-compose

systemctl restart docker.service
 docker-compose up -d

 验证登陆

 4.推送镜像到harbor

4.1 查看现有的镜像

docker images

 4.2 镜像tag

既然是测试,就用最小的来测试

 docker tag goharbor/nginx-photon:v2.4.2   huahua:v1

 得到的镜像大小一样,名字不同

4.3 推送镜像

4.3.1 出现报错

[root@wangsh-k8s harbor]# docker  images
REPOSITORY                    TAG       IMAGE ID       CREATED       SIZE
goharbor/redis-photon         v2.4.2    61d136910774   12 days ago   158MB
goharbor/harbor-registryctl   v2.4.2    f43545bdfd12   12 days ago   138MB
goharbor/registry-photon      v2.4.2    1927be8b8775   12 days ago   80.8MB
goharbor/nginx-photon         v2.4.2    4189bfe82749   12 days ago   47.3MB
huahua                        v1        4189bfe82749   12 days ago   47.3MB
goharbor/harbor-log           v2.4.2    b2279d3a2ba5   12 days ago   162MB
goharbor/harbor-jobservice    v2.4.2    d22f0a749835   12 days ago   222MB
goharbor/harbor-core          v2.4.2    672a56385d29   12 days ago   199MB
goharbor/harbor-portal        v2.4.2    bc60d9eaf4ad   12 days ago   56.3MB
goharbor/harbor-db            v2.4.2    91d13ec46b2c   12 days ago   226MB
goharbor/prepare              v2.4.2    d2100ed70ba4   12 days ago   269MB
[root@wangsh-k8s harbor]# docker tag huahua:v1 library/huahua1:v1
[root@wangsh-k8s harbor]# docker push huahua1:v1
The push refers to repository [docker.io/library/huahua1]
6111e09009c2: Preparing
0e1c91c1a3dc: Preparing
denied: requested access to the resource is denied

4.3.2 报错分析

1:tag 标签打错,push无法正确上传

2:push 推送到了默认的存储仓库:The push refers to repository [docker.io/library/huahua1]

4.3.3 重新打tag标签

 docker tag huahua:v1  103.21.117.xx/library/huahua:v1
# 路径包含公网IP

4.3.4 push重新推送

 4.3.4 查看harbor结果

5.1从harbor拉取镜像

5.1.1 注册新text账户

 

5.1.2 退出admin账号

[root@i-lwdx8z0k ~]# docker logout  103.21.117.xx
Removing login credentials for 103.21.117.xx

5.1.3 使用注册的text账户登陆

 

5.2  出现报错

无法删除 103.21.117.119/library/huahua

因为此镜像已经被引用,停止相关镜像还是不行。

 

5.3 上传没有在运行的镜像,再重新拉取

5.3.1 删除还是会报错

5.3.2  使用repository和tag的方式来删除

 docker rmi 103.21.117.119/library/nginx:v1

 103.21.117.119/library/nginx  镜像已经被删除

5.3.3 拉取上传的镜像

 docker pull 103.21.117.xx/library/nginx:v2

 

 至此,已经完成了镜像的推送和拉取

其中的排错过程,对docker的理念又深入些。

更多推荐