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

栏目: 编程工具 · 发布时间: 7年前

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

三步走的第二步,开始查看镜像仓库,就一起学一学 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仓库,下次开始服务编排工具。感觉好爽啊!

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

百度未收录

>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!

>>原文链接地址:上一篇:

已是最新文章


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning jQuery

Learning jQuery

Jonathan Chaffer、Karl Swedberg / Packt Publishing / 2007-7-7 / GBP 24.99

jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. In this book, creators of the popular jQuery learning resource, learningquery.com, share the......一起来看看 《Learning jQuery》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具