docker(3):Docker 仓库之docker-harbor仓库

 一、docker-harbor仓库

先把旧的registry删除

docker rm -f registry

1.软件包

docker-compose-Linux-x86_64-1.27.0 harbor-offline-installer-v1.10.1.tgz
tar zxf harbor-offline-installer-v1.10.1.tgz
   cd harbor/
   mv /root/docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-compose
   chmod +x /usr/local/bin/docker-compose
   mkdir /data
   cp ~/certs/ /data/ -r
   ls /data/certs/

2.修改配置信息

vim harbor.yml
5 hostname: reg.westos.org
17    certificate: /data/certs/westos.org.crt
18    private_key: /data/certs/westos.org.key
27 harbor_admin_password: westos

3.安装

./install.sh 安装 注:当出现 ERROR: yaml.parser.ParserError: while parsing a block mapping in “./docker-peer.yaml”, line 10, column 5 expected , but found ‘’ in “./docker-peer.yaml”, line 17, column 3 时是空格导致的未对齐(严格意义上的对齐)
docker-compose ps (必须在harbor目录下输入命令) docker ps

4.登陆网页

访问172.25.73.4

5.添加默认仓库路径

vim /etc/docker/daemon.json { "registry-mirrors": ["https://reg.westos.org"] } systemctl reload docker.service docker info 查看到新的添加的镜像路径
测试: 46 docker pull nginx 47 docker rmi nginx:latest 删除nginx后images里没有 48 docker run -d --name demo nginx 运行容器的时候,pull拉取镜像会自动下载没有的镜像

6.获取认证

docker logout reg.westos.org docker login reg.westos.org Username: admin Password: 是登陆web页面的账号密码。
docker tag nginx:latest reg.westos.org/library/nginx:latest docker push reg.westos.org/library/nginx:latest 网页查看是否上传

7.重新下载配置

docker-compose down ./prepare ./install.sh --with-notary --with-clair --with-chartmuseum 内容信任 ,镜像扫描 相当于:配置中加入了漏洞扫描,内容信任等选项。 在打开的网页中选择漏洞扫描 这里主要是作为后期的优化
扫描后的镜像如下图
启用docker内容信任 网页选择内容信任
export DOCKER_CONTENT_TRUST=1 export DOCKER_CONTENT_TRUST_SERVER=https://reg.westos.org:4443 部署根证书: mkdir ~/.docker/tls/reg.westos.org:4443 -p cd ~/.docker/tls/reg.westos.org:4443 cp /etc/docker/certs.d/reg.westos.org/ca.crt .
上传之前上传的nginx/library docker push reg.westos.org/library/nginx:latest 显示已经存在,需要我们输入root key 当我们只修改标签的时候,我们只用输入repository key 密码 westos12345
网页访问,签名成功
我们把镜像的名字更改之后重新拉取镜像v1 只需要更改仓库的key docker tag nginx:latest reg.westos.org/library/nginx:v1 docker push reg.westos.org/library/nginx:v1
网页效果: 还有一个好处为 本来拉取报错的镜像,现在也可以拉取镜像了
当输入export DOCKER_CONTENT_TRUST=0 再次拉取的时候就不需要再输入认证了

8.优化容器

为了不让扫描使占用的空间越来越大,所以重新修改一下选项 export DOCKER_CONTENT_TRUST=0 cd docker-compose down ./prepare ./install.sh --with-chartmuseum
或者另一种方法 阿里云镜像加速器查找方法: 登录阿里云帐号 找到 容器镜像服务 搜索框输入 镜像 找到 容器镜像服务 找到 加速器地址 点镜像加速器 加速器地址 就可以找到操作步骤每个人都有一串不同的代码
经验分享 程序员 微信小程序 职场和发展