『高级篇』docker之镜像仓库(20)
admin
2023-04-08 12:44:08
0

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之镜像仓库(20)

三步走的第二步,开始查看镜像仓库,就一起学一学docker仓库,仓库分2种,别人家的仓库也叫公共仓库,自己的仓库也叫私有仓库。公共仓库和私有仓库最大的却别就是网速,公共仓库从公网,私有仓库是从局域网,速度的差别,安全性,公共的肯定没有私有的安全,保存在自己的硬盘上是最稳的。其实在中级的时候我已经说过docker仓库的创建,这次用mac本来实现docker仓库的创建。源码:https://github.com/limingios/msA-docker

公有仓库

最权威的公有仓库就是hub.docker.com

『高级篇』docker之镜像仓库(20)

  • 打包
docker tag zookeeper:3.5 zhugeaming/zookeeper:3.5
docker login
docker push zhugeaming/zookeeper:3.5

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

私有仓库(一)

https://hub.docker.com/_/registry/

docker pull registry:2

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

  • 安装说明

    官方的安装说明

docker run -d -p 5000:5000  --name registry registry:2

『高级篇』docker之镜像仓库(20)

  • push 到本地的registry
    docker tag zookeeper:3.5 localhost:5000/zookeeper:3.5
    docker push localhost:5000/zookeeper:3.5

『高级篇』docker之镜像仓库(20)

在生产环境下,并不能满足要求,单点登录,一个服务器出了问题,另一个服务器就很难托管过来,它并没有界面,给他交互不是很方便。
所以业内又出现了一个新的叫harbor,更适合生产环境中。

私有仓库(二)

https://github.com/goharbor/harbor/
详细往下看 最终我放弃了mac下直接安装harbor,通过vagrant的方式虚拟机来安装harbor

  • 准备工作

    选择线下安装

『高级篇』docker之镜像仓库(20)

cp Downloads/harbor-offline-installer-v1.6.1.tgz ~/app/
cd ~/app
tar -xvf harbor-offline-installer-v1.6.1.tgz

『高级篇』docker之镜像仓库(20)

  • 修改配置文件

    修改红色部分

cd harbor
ll
vi harbor.cfg

『高级篇』docker之镜像仓库(20)

方便管理,mac系统管理,修改存储路径

vi docker-compose.yml

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

  • 安装

『高级篇』docker之镜像仓库(20)

  • 奇葩问题

想在mac上安装一个harbor 下载了harbor-offline-installer-v1.6.1.tgz

  1. 将文件放在了mac本的/user/liming/app/目录下,并解压
  2. 修改了配置文件和挂载文件的路径。
  3. 运行install的时候必须加sudo,负责权限不足,加了sudu后可以正常安装并安装成功。
  4. 但是剩余的问题来了,里面的容器无法访问挂载的配置文件,提示权限不足。为了弥补权限不足的问题,我在docker-compose.yml做了配置都增加了
    privileged: true,但是不生效,困扰了几天身边没有docker方面的人,帮忙解答下。

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

vagrant 方式安装

https://github.com/limingios/msA-docker/tree/master/vagrant/harbor

  • 修改host文件和端口,可以不修改端口
    vi harbor.cfg

    『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

vi docker-compose.yml

『高级篇』docker之镜像仓库(20)

  • 安装
    ./install.sh 

    『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

  • 浏览

    ifconfig

    『高级篇』docker之镜像仓库(20)

  • 访问harbor

    http://172.28.128.3:8888
    用户名:admin
    密码:Harbor12345

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

library 公开的所有用户都可以push

『高级篇』docker之镜像仓库(20)

添加项目micro-service,私有项目

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

点击项目可以进入项目中。

『高级篇』docker之镜像仓库(20)

  • 添加成员
    1. 项目管理员 等于 admin
    2. 开发人员 等于 对项目的镜像 有push 和pull的权限
    3. 访客 等于 只有 pull的权限

『高级篇』docker之镜像仓库(20)

  • 复制功能

    生产环境,很多的机房,每个机房之间的网速是很快的,但是跨机房的,可能网速的稳定性和速度就差一些,每个机房部署一个harbor,在通过一个中心的harbor,当有镜像的自动去同步其他的服务器,复制规则是可以针对项目的,每个项目自己的一个复制规则。

『高级篇』docker之镜像仓库(20)

  • 创建用户

『高级篇』docker之镜像仓库(20)

  • 添加成员

    分配开发人员
    『高级篇』docker之镜像仓库(20)

Harbor其实操作很简单,随便点点都了解了。

本地的微服务镜像推送

现在想想办法把镜像都推送到mico-service里面

  • host文件修改
    sudo vi /etc/hosts 

『高级篇』docker之镜像仓库(20)

  • 上传基础镜像

    hub.idig88.com 已经配置了基础

    docker tag java:openjdk-8 hub.idig88.com:8888/micro-service/java:openjdk-8

『高级篇』docker之镜像仓库(20)

The push refers to repository [hub.idig88.com:8888/micro-service/java]
Get https://hub.idig88.com:8888/v2/: http: server gave HTTP response to HTTPS client
  • 配置地址:登录服务器上。

『高级篇』docker之镜像仓库(20)

vi /usr/lib/systemd/system/docker.service 
service docker restart

『高级篇』docker之镜像仓库(20)

配置地址:本机mac。修改后点击app& Restart

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

  • 再次上传基础镜像
    docker login http://hub.idig88.com:8888 -u liming -p 密码
    docker push  hub.idig88.com:8888/micro-service/java:openjdk-8
    docker tag python:3.6 hub.idig88.com:8888/micro-service/python:3.6
    docker push hub.idig88.com:8888/micro-service/python:3.6

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

推送微服务到仓库中

已经将基础的镜像推送到了镜像仓库中,现在需要修改对应的dockerfile文件,更改基础镜像的名称。修改配置文件

  • 6个微服务Dockerfile

    From hub.idig88.com:8888/micro-service/

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

  • 6个sh脚本修改增加了推送功能
    『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

查看仓库

8个镜像全部到位

『高级篇』docker之镜像仓库(20)

『高级篇』docker之镜像仓库(20)

PS:经历了2天大概做了不下20小时,我最终还是放弃了mac下安装harbor的方式,时刻要记住mac只是个编辑器,不要什么都在上边装,很多时候通过虚拟机更类似生成环境。这一次说完了docker仓库,下次开始服务编排工具。感觉好爽啊!

相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...