• 【云原生kubernetes从入门到实践系列教程 ] 三.docker 镜像仓库


    基础教程

    一.相关知识

    今天来讲docker的第三个组成部分仓库(Registry)。仓库是用来保存用户创建的镜像,仓库分共有和私有两种。

    • 公有仓库
      Docker公司自己提供了最大的公有仓库docker hub,可以在Docker Hub上创建账户,保存分享自己创建的镜像,如下图所示。
      在这里插入图片描述
    • 私有仓库
      可以部署在自己公司服务器,其原理性和gitlab相差无几,下面我们来进行私有仓库搭建实操
    二.案例讲解
    1. 创建镜像仓库

    拉取私有仓库镜像文件registry ,并生成容器(Container),命令如下:

    $ docker run -d -p 5000:5000 --restart always --name registry registry:2
    
    • 1
    • docker run-- docker 命令
    • -p 5000:5000 -- 宿主机和容器的映射端口
    • --restart always -- 出错或重启物理机器后总是自动重启
    • --name registry -- 容器的名称
    • registry:2 -- 所需镜像及版本
      在这里插入图片描述

    到此,我们的私有镜像已经搭建完毕,非常简单。 此时,仓库只能本地访问,要想远程访问,接下来要做以下配置

    2. 远程访问

    所有安装docker的机器都要配置如下远程配置

    $ vim /etc/docker/daemon.json
    
    # docker 默认不允许向http推送,参考: https://docs.docker.com/registry/deploying/#run-an-externally-accessible-registry,
    # 没有信任证书,通过配置daemon来跳过验证
    {
     "registry-mirrors":[
            "https://8ov1n2lo.mirror.aliyuncs.com"
      ],
      "insecure-registries":[
      "192.168.1.152:5000"
      ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    重启docker 服务

    $ systemctl restart docker
    
    • 1
    (1). 内存限制(选作,一般用不到)

    如果想要控制容器的运行内存,在创建容器的时候可以添加以下选项

    $ docker run --memory=500m nginx:alpine
    
    • 1
    (2). 安装界面(选作,一般用不到)
    $ docker pull hyper/docker-registry-web
    $ docker run -d --restart=always -p 5001:8080 --name registry-web --link registry -e REGISTRY_URL=http://192.168.1.152:5000/v2 -e REGISTRY_NAME=192.168.1.15:5000 hyper/docker-registry-web
    
    • 1
    • 2
    3. 推送本地镜像到仓库中
    (1). 给镜像打tag,并推送

    我们以上个案例的nginx:v1 容器为例进行操作,推送到仓库可以是本地访问的镜像,亦可以是远程访问的镜像

    • 本机访问
    $ docker tag nginx:alpine localhost:5000/nginx:v1
    $ docker push localhost:5000/nginx:v1
    
    • 1
    • 2
    • 远程访问
    $ docker tag nginx:alpine 192.168.1.152:5000/nginx:v1  # 打tag标签
    $ docker push 192.168.1.152:5000/nginx:v1  #推送
    
    • 1
    • 2

    在这里插入图片描述

    (2). 查看仓库内镜像元素是否存在
    $ curl -X GET http://localhost:5000/v2/_catalog
    $ curl -X GET http://localhost:5000/v2/nginx/tags/list
    
    • 1
    • 2

    通过上面的命令可以看出,仓库已经存在“nginx”,v1的版本的镜像文件。
    在这里插入图片描述

    ------------------------------------------------------------------------------------------------------

    课程链接

    docker基础操作

    【云原生kubernetes从入门到实践 ] 一.docker安装
    【云原生kubernetes从入门到实践 ] 二.docker操作

    【云原生kubernetes从入门到实践 ] 三.docker私有镜像源

    【云原生kubernetes从入门到实践 ] 四.docker volumes 持久化
    【云原生kubernetes从入门到实践 ] 五.docker网络介绍
    【云原生kubernetes从入门到实践 ] 六.docker应用容器实践

    k8s 基础操作

    【云原生kubernetes从入门到实践 ] 一.k8s 集群介绍
    【云原生kubernetes从入门到实践 ] 二.k8s 集群理解
    【云原生kubernetes从入门到实践 ] 三.k8s yaml编写即开发
    【云原生kubernetes从入门到实践 ] 四.k8s deploy介绍
    【云原生kubernetes从入门到实践 ] 五.k8s service访问
    【云原生kubernetes从入门到实践 ] 六.k8s etcd数据库操作
    【云原生kubernetes从入门到实践 ] 七.k8s 网络配置
    【云原生kubernetes从入门到实践 ] 八.k8s 认证授权

    k8s 运维监控

    【云原生kubernetes从入门到实践 ] 一.k8s Rancher部署
    【云原生kubernetes从入门到实践 ] 二.Prometheus监控
    【云原生kubernetes从入门到实践 ] 三.k8s Grafana展示
    【云原生kubernetes从入门到实践 ] 四.k8s Alertmanager告警

    k8s Devops自动化部署

    【云原生kubernetes从入门到实践 ] 一.k8s DevOps平台实践
    【云原生kubernetes从入门到实践 ] 二.k8s Pipline流水线
    【云原生kubernetes从入门到实践 ] 三.k8s 多分支流水线
    【云原生kubernetes从入门到实践 ] 四.k8s Jenkins容器集成
    【云原生kubernetes从入门到实践 ] 五.k8s SonarQube代码扫描
    【云原生kubernetes从入门到实践 ] 六.k8s RobotFramework集成
    【云原生kubernetes从入门到实践 ] 七.k8s SharedLibrary进行CICD
    【云原生kubernetes从入门到实践 ] 八.k8s sharedLibrary集成K8S服务部署
    【云原生kubernetes从入门到实践 ] 九.k8s 多环境部署

    k8s 项目交付

    【云原生kubernetes从入门到实践 ] 一.k8s Python Flask项目交付
    【云原生kubernetes从入门到实践 ] 二.k8s Vue项目交付
    【云原生kubernetes从入门到实践 ] 三.k8s Springcloud项目交付

  • 相关阅读:
    外贸SEO 站长工具
    自动登录sh脚本
    Python常见面试题分享,面试题中的No.1!
    ArcGIS下载在线地图影像上篇(手工版)
    java计算机毕业设计学生生活管理源码+系统+数据库+lw文档
    基于Python+flask+sqlite+bootstrap框架开发的后台管理系统
    做音视频开发要掌握哪些知识?
    垃圾回收机制
    细说React组件性能优化
    meta标签汇总
  • 原文地址:https://blog.csdn.net/llm765800916/article/details/126583443