zoukankan      html  css  js  c++  java
  • Docker 三要素 + 安装 + hello-world

    Docker一般安装在Linux上,windows上也可以安装;2013年出来,2017年火爆起来!
    三要素
        镜像(image)—模版(类)
        容器(container)—模版的实例(类的实例)
        仓库(repository)---托管镜像
        
    Docker镜像(image)就是一个只读的模版,镜像可以用来创建Docker容器,一个镜像可以创建很多容器
    Docker利用容器(Container)独立运行的一个或一组应用,容器是用镜像创建的运行实例
        它可以被启动,开始,停止,删除,每个容器都是相互隔离的,保证安全的平台;
        可以把容器看作是一个简易版的Linux环境 (包括root用户权限,进程控制,用户空间和网络空间等)和运行在其中的应用程序,
        容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的
     
     
     
    这里是在windows上安装了一个Linux虚拟机系统是Ubuntu
    如何查看Ubuntu系统的版本号呢
        命令如下:
            cat /proc/version
            显示如下:
                Linux version 4.10.0-28-generic (buildd@lgw01-12)         linux内核版本号 
                gcc version 5.4.0                                                                 gcc编译器版本号 
                Ubuntu 5.4.0-6ubuntu1                                                      Ubuntu版本号
            
            uname -a
                显示linux的内核版本和系统是多少位的:X86_64代表系统是64位的。
        
            lsb_release -a
                显示如下:
                    Distributor ID: Ubuntu                           //类别是ubuntu 
                    Description:  Ubuntu 16.04.3 LTS          //16年3月发布的稳定版本,LTS是Long Term Support:长时间支持版本,支持周期长达三至五年 
                    Release:    16.04                                    //发行日期或者是发行版本号 
                    Codename:   xenial                               //ubuntu的代号名称
     
     
    我这里的Ubuntu的代号是:bionic  版本号:18.04
    安装步骤如下:参考文档:https://www.cnblogs.com/wt7018/p/11880666.html
        1.如果之前安装过,需要先卸载:
    sudo apt-get remove docker docker-engine docker.io containerd runc

     2.安装Docker:

    sudo apt-get update
    # 安装依赖包
    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    # 添加 Docker 的官方 GPG 密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    # 验证您现在是否拥有带有指纹的密钥
    sudo apt-key fingerprint 0EBFCD88
    # 设置稳定版仓库
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

     3.安装Docker  Engine-Community:

    # 更新
    $ sudo apt-get update
    # 安装最新的Docker-ce
    sudo apt-get install docker-ce
    # 启动
    sudo systemctl enable docker  // 设置Docker开机启动
    sudo systemctl start docker

     4.测试:

    sudo docker run hello-world
    sudo  docker images   // 查看docker里是否有镜像
     5.输入docker  --version  或者使用 sudo  docker version
            显示:Docker version  20.10.5, build 55c4c88
     
       6.为了下载和使用docker镜像更快一些,我们使用国内比较流行的阿里云/网易云等加速器
            进入阿里云控制台,然后找到容器镜像服务 目的是找到镜像加速器---> 
            找到属于自己的镜像加速地址:https://g7x81nwu.mirror.aliyuncs.com
    sudo mkdir -p /etc/docker 
    sudo tee /etc/docker/daemon.json <<-'EOF' 
    // 这里可以使用 vim /etc/docker/daemon.json  
    // 接着把下面内容添加进去即可
    { 
        "registry-mirrors": ["https://g7x81nwu.mirror.aliyuncs.com"] 
    } 
    EOF 
    sudo systemctl daemon-reload   // 重新加载配置文件
    sudo systemctl restart docker  // 重启Docker后台服务
     补充
            mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录(mkdir -p xx/yy的好处就是一次可以创建多级文件夹,若xx文件夹不存在,则先创建xx文件夹,然后在xx文件夹下创建yy文件夹)
     
        7.检查加速器是否生效:
            ps  -ef  |  grep  docker 
            或者使用:sudo docker info | grep Mirrors -A 1 
            显示在docker的进程后有没有挂在着阿里云的加速地址,有的话则证明配置完成;
        
        8.搜索镜像:
            可以使用docker search命令搜索存放在Docker Hub中的镜像,例如:
                sudo docker search java
                执行该命令后,Docker就会在Docker Hub中搜索含有java这个关键词的镜像仓库。执行该命令后可以看到类似于如下的表格:
                该表格包含五列,含义如下:
                    NAME:镜像仓库名称。 
                    DESCRIPTION:镜像仓库描述。 
                    STARS:镜像收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的Stars。 
                    OFFICAL:表示是否为官方仓库,该列标记为[OK]的镜像均由个软件的官方项目组创建和维护。由结果可知,java这个镜像仓库是官方仓库,而其他仓库都不是官方镜像仓库。 
                    AUTOMATED:表示是否为自动构建镜像仓库。
     
        9.docker从镜像仓库下载mysql5.7版本:
            sudo docker pull mysql:5.7
            此时查看镜像---> sudo docker  images,就会发现mysql已经存在:
     
        10.docker  run  hello-world 
            具体做了什么呢?
            开始,Docker在本机中寻找hello-world镜像----本机是否存在---> 存在,就以该镜像为模板生产容器实例并运行;如果不存在,去Docker Hub(或者阿里云仓库)上查找该镜像 ----> 能找到 下载该镜像到本地----> 以该镜像为模板生产容器实例运行 ---> Hub仓库找不到则返回失败错误,查不到该镜像; 
     
  • 相关阅读:
    UE4使用第三方库读写xml文件
    ROS机器人程序设计(原书第2版)补充资料 教学大纲
    Unity UGUI图文混排(七) -- 下划线
    奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示
    Java复习之泛型
    Java复习之多线程
    Java复习之包及访问控制权限
    Java复习之异常
    Java复习之面向对象高级
    Java复习之面向对象基础
  • 原文地址:https://www.cnblogs.com/guo-s/p/14578532.html
Copyright © 2011-2022 走看看