zoukankan      html  css  js  c++  java
  • 第七节:docker与虚拟机对比、私有仓库的搭建和阿里云容器镜像服务介绍

    一. docker容器和虚拟机对比

    1. docker容器虚拟化

     (1). 容器就是将软件打包成标准化单元,以用于开发、交付和部署。

     (2). 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。

     (3). 容器化软件在任何环境中都能够始终如一地运行。

     (4). 容器赋予了软件独立性,使其免受外在环境差异的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。

    如图:

    2. docker容器和传统虚拟机比较

    (1). 相同点

     docker容器和虚拟机具有相同的资源隔离优势和分配优势。

    (2). 不同点

     A. 容器虚拟化的是操作系统,虚拟机虚拟化的是硬件

     B. 传统虚拟机可以运行不同的操作系统,容器只能运行同一类型操作系统。

    二. 私有仓库的搭建

    1. 什么是私有仓库

     Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像 到本地,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜 像放到公网当中,那么我们就需要搭建自己的私有仓库来存储和管理自己的镜像。

    PS:像国内的阿里云、腾讯云等等都既提供公有仓库,也提供私有仓库。

    2. 搭建自己的私有仓库  

    (1). 下载私有仓库镜像

    docker pull registry

    (2). 启动私有仓库容器

    docker run -id --name=myRegistry -p 5000:5000 registry

    PS:私有仓库容器对外开放的端口为5000

    (3). 打开浏览器 输入地址http://私有仓库服务器ip:5000/v2/_catalog

      看到   {"repositories":[]}    表示私有仓库 搭建成功

    (4). 配置私有仓库的地址

     修改daemon.json ,【vim /etc/docker/daemon.json 】 在上述文件中添加一个key,保存退出。用于让 docker 信任私有仓库地址;

    {
        "insecure-registries":["私有仓库服务器ip:5000"]
    }

    如图:

    (5). 重启docker 服务

    systemctl restart docker   #重启docker
    docker start myRegistry      #启动私有仓库镜像

    3. 私有仓库镜像的上传和下载

    前提配置:

    (1). 宿主机要先配置私有仓库的地址为目标私有仓库,必须是配置https

    A. 指令:vi /etc/docker/daemon.json,  其中 https://119.45.174.249:5000 是私有仓库地址

    {
      "registry-mirrors": ["https://ijmr3it2.mirror.aliyuncs.com"],
      "insecure-registries": ["https://119.45.174.249:5000"]
    }

    B. 重启

    systemctl daemon-reload 
    systemctl restart docker 

    (2). 必须要登录,后进行上传和下载

    docker login 119.45.174.249:5000

     如图:

    1. 上传

    # 1、标记镜像为私有仓库的镜像     
    docker tag redis:5.0 私有仓库服务器IP:5000/redis:5.0
     
    # 2、上传标记的镜像     
    docker push 私有仓库服务器IP:5000/redis:5.0

    注意:只写ip,不写http://

    如图:

    2. 下载

    #拉取镜像 
    docker pull 私有仓库服务器ip:5000/redis:5.0

     如图:

    三. 阿里云容器镜像服务

    1. 镜像加速服务

     centos和ubuntu系统直接复制下面代码执行。

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://ijmr3it2.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    配置完成,进行查看,如下图,说明配置成功。

     

    2. 私有仓库的配置

    (1).  前提

    A.  先配置一个仓库密码,此密码不是案例云的登录密码。(还要注意所在的地区)

    B. 创建命名空间,后续上传的镜像可以位于不同的命名空间下。

      如:ypfstore为私有仓库,ypfstore2为公有仓库。

    2. 上传

    (1). 登录

    sudo docker login --username=xxxxxx registry.cn-shenzhen.aliyuncs.com

    上述指令来源于: 

    如图: 

    同一个镜像可以上传多个不同版本:

     

    (2)  把本机的redis:5.0镜像上传到阿里云ypfstore命名空间下

    A. 先做tag标记

    sudo docker tag redis:5.0 registry.cn-shenzhen.aliyuncs.com/ypfstore/redis:5.0

    B. push上传

    sudo docker push registry.cn-shenzhen.aliyuncs.com/ypfstore/redis:5.0

     如下图:

    去阿里云平台查看上传的镜像,并且详情中有完善的该镜像操作指令,比如下载、修改等等。

    3. 下载

    (1). 登录(同上)

    sudo docker login --username=xxxxxx registry.cn-shenzhen.aliyuncs.com

    (2). 执行下载指令

    sudo docker pull registry.cn-shenzhen.aliyuncs.com/ypfstore/redis:5.0

     如下图:

     

    3. 公共仓库的使用

     要求:上述ypfstore2命名空间对应的就是公共仓库,现在我要把本机nginx:latest上传到阿里云的ypfstore2公共仓库(要求阿里云中显示为1.0版本),不需要登录,直接先标记,后上传即可。

     (1). 上传

    #标记
    sudo docker tag nginx:latest registry.cn-shenzhen.aliyuncs.com/ypfstore2/nginx:1.0
    #上传
    sudo docker push registry.cn-shenzhen.aliyuncs.com/ypfstore2/nginx:1.0

     如下图:

    去阿里云中查看:

     

    (2). 下载

     无需登录,直接执行下载指令

    sudo docker pull registry.cn-shenzhen.aliyuncs.com/ypfstore2/nginx:1.0

     如下图:

     

    !

    • 作       者 : Yaopengfei(姚鹏飞)
    • 博客地址 : http://www.cnblogs.com/yaopengfei/
    • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
    • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
     
  • 相关阅读:
    Java中返回参数值的几种状态
    Java中的二维数组
    Java foreach操作(遍历)数组
    Arrays 类操作 Java 的数组排序
    Java循环语句 for
    Java循环语句 while
    Java条件语句 switch case
    Java多重if....else if
    margin优化的一种思路
    5.命名规则
  • 原文地址:https://www.cnblogs.com/yaopengfei/p/13705822.html
Copyright © 2011-2022 走看看