原创链接:IT书 - itbook.com
参考官方文档
https://docs.docker.com/install/linux/docker-ce/centos/
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum install docker-ce docker-ce-cli containerd.io
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#启动docker
sudo systemctl start docker
#设置开机自启
sudo systemctl enable docker
#验证
sudo docker run hello-world
#安装
pip install docker-compose
#查看版本
docker-compose -version
历史版本: https://github.com/goharbor/harbor/releases
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz
tar xvf harbor-offline-installer-v1.7.1.tgz
cd harbor
vim harbor.cfg
通常修改hostname,邮件配置,harbor_admin_password即可
## Configuration file of Harbor
# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
hostname = harbor.lazypg.com
# 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
ui_url_protocol = http
# mysql数据库root用户默认密码root123,实际使用时修改下
db_password = root123
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_server = smtp.exmail.qq.com
email_server_port = 465
email_username = [email protected]
email_password =
email_from = devin
email_ssl = true
email_insecure = false
# 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
harbor_admin_password = Harbor12345
# 认证方式,这里支持多种认证方式,如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
修改完配置文件后,在的当前目录执行 ./install.sh,Harbor服务就会根据当期目录下的 docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各个服务
在程序目录下
#第一次初始化
./install.sh
#Harbor容器的stop与start:
docker-compose stop/start
因为docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry不安全仓库的主机,如图所示
vi /usr/lib/systemd/system/docker.service
#找到ExecStart,并将ExecStart=/usr/bin/dockerd -H fd:// 修改为:
ExecStart=/usr/bin/dockerd --insecure-registry=harbor.lazypg.com -H fd://
#重新加载service文件
systemctl daemon-reload
#重启docker服务
systemctl restart docker
#重启harbor
docker-compose stop
docker-compose start
再次验证
提前到http://harbor.lazypg.com创建仓库项目名
#镜像打标签
docker tag 镜像名:标签 私服地址/仓库项目名/镜像名:标签
#推送到私服
docker push 私服地址/仓库项目名/镜像名:标签
#从私服拉取镜像
docker pull 私服地址/仓库项目名/镜像名:标签
#示例
docker pull hello-world
docker tag hello-world harbor.lazypg.com/test/hello-world:v0.0.1
docker push harbor.lazypg.com/test/hello-world:v0.0.1
#拉取
docker pull harbor.lazypg.com/test/hello-world:v0.0.1