1、私有仓库搭建
1.1、搭建基础环境
①、安装 centos 7.x 为基础环境,
②、管理防火墙(firewalld)、(Selinux)
systemctl disable firewalld
systemctl stop firwalld
setenforce 0
sed -i 7s`/enforcing/disables/` /etc/selinux/config
③、安装 iptables-server**
yum -y install iptables-services
systemctl start iptables
systemctl enable iptables
iptables -F
service iptables save
reboot
1.2、安装docker环境
①、下载软件包
命令:wget:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/.
②、安装软件
命令:yum -y install docker-*
③、设置 Dcoker 软件开机自启
命令:systemctl enable docker
④、重启系统
docker 会利用防火墙规则实现内网的分发和外网的上网,连接防火墙规则。
命令:reboot
重启后 docker 会主动添加自己的防火强规则
⑤、上传 docker-compose 工具并编辑
命令:mv docker-compose /usr/local/bin/
命令:chmod a+x /usr/local/bin/docker-compose
1.3、部署 Harbor 仓库
①、底层需求
环境需求 |
---|
Python应该是 2.7 或更高版本 |
Docker 引擎应为1.10 或更高版本 |
Docker Compose 需要为 1.6.0 或更高版本。 |
下载 docker-compose
docker-compose:curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-uname -s
-uname -m
> /usr/local/bin/docker-compose
②、Harbor 下载
下载方式:
a、online:不包含镜像,不可以离线部署。内部只有配置文件及初始化脚本。
b、offline:包含所有镜像,支持离线部署。
命令:wget https://github.com/vmware/harbor/releases
命令:tar xvf harbor-offline-installer-.tgz
③、配置文件修改
vim harbor.cfg
# 主机名
hostname = hub.hoxui.com
# https 的加密设置(证书有效)
ui_url_protocol = https
# 数据库密码
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
④、创建 https 证书及配置相关目录权限
命令:mkdir /data/cert chmod -R 777 /data/cert
命令:cd /data/cert/
以下秘钥及证书的操作是在测试环境自行生成的,在生产环境中请在相关网站购买认证
# 创建私钥
openssl genrsa -des3 -out server.key 2048
# 创见证书请求
openssl req -new -key server.key -out server.csr
# 备份私钥
cp server.key server.key.org
# 退密码
openssl rsa -in server.key.org -out server.key
# 为私钥签发证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
⑤、运行脚本进行安装
命令:mv harbor /usr/local/
命令:cd /usr/local/harbor/
命令:./install.sh
⑥、添加 hosts 解析
命令:vim /etc/hosts
[harbor 的 ip 地址] hub.houxi.com
⑦、指定镜像仓库地址
命令:vim /etc/docker/daemon.json
{
# 该配置文件的最后一行没有","
"insecure-registries": ["serverip"]
}
⑧、启动 docker
命令:systemctl restart docker
⑨、修改 Windows 的 hosts 文件
IP地址 域名
⑩、网页访问
用户名:admin
密 码:Harbor123456
1.4、向私有仓库推送镜像
①、仓库认证
格式:docker login 域名
Username:admin
Password:xxx
②、生成镜像
格式:docker tag repository:tag [镜像名称]
[镜像名称]:域名/library/服务名:版本
③、推送镜像
格式:docker push [镜像名称]
④、下载镜像
格式:docker pull [镜像名称]
1.5、仓库用户权限管理
①、可以使用不同用户权限分隔不同镜像仓库
②、上传或下载时需要登录和登出
1.6、如何去别人的私有仓库下载公开镜像
①、daemon.json 文件中写入解析域名
②、自己的私有仓库中的 /etc/hosts 文件中写入 IP 及域名
③、在宿主机中的hosts文件中添加 IP 及域名(Windows/system32/drivers/etc/hosts)
④、重启 Docker