淘先锋技术网

首页 1 2 3 4 5 6 7

Docker学习(一)

参考:https://www.runoob.com/docker/docker-tutorial.html

  1. Docker简介

是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器,也可以实现虚拟化。容器完全使用沙箱极制,相互之间不会有任何接口,更重要的是容器性能开销极低

  1. Docker的应用场景
    - web应用的自动化打包和发布,
    - 自动化测试和持续集成、发布
    - 在服务型环境中部署和调整数据库或其他的后台应用

  2. Docker架构

    Docker包括三个基本概念

    • 镜像(Image):Docker镜像,相当于是一个root文件系统,比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统

    • 容器(Container):镜像(Image)和容器(Container)的关系,像面对程序设计中的类和实例一样,镜像是静态的定义,容器时镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停

    • 仓库(Repository):仓库可以看成一个代码控制中心,用来保存镜像

      Docker使用C/S架构模式,使用远程API来管理和创建Docker容器

      Docker容器通过Docker镜像创建

      其他:

      Docker客户端(Client):Docker客户端通过命令行或者其他工具使用Docker SDK(https://docs.docker.com/develop/sdk/)与Docker的守护进程通信

      Docker主机(Host):一个物理或者虚拟的机器用于执行Docker守护进程和容器

      Docker Registry:Docker仓库用来保存镜像。Docker Hub(https://hub.docker.com/)提供了庞大的镜像集合供使用,一个Docker Registry可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应一个镜像。通常,一个仓库会包含同1个软件不同版本的镜像,标签基于常用于对应软件的各个版本,可以通过<仓库>:<标签>的格式来指定具体是这个软件的哪个版本,如果不给出标签,以latest作为默认标签。

      Docker Machine:是一个简化Docker安装的命行化工具,通过一个简单的命令可在相应的平台上安装docker.

安装docker

Docker支持以下的常用操作系统:

Ubuntu

debian

centos7/8 以及更高版本 64位centos版本

windows

macos

注意:docker对内核以及环境要求较高

  1. 安装Docker Engine-Community

    使用Docker仓库进行安装

    在主机上首次安装Docker Engine-Community之前,需要设置Docker仓库,之后也可以从仓库安装docker

    1.1 安装依赖工具

    安装所需要的软件包/依赖工具,yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2

    yum install -y yum-utils device-mapper-persistent-data lvm2

    1.2 添加yum源

    因为docker不是yum源所包含的软件,需要添加软件源信息,添加之后,yum会更快速访问安装

    使用以下命令设置仓库

    阿里云(国内源,比较推荐)

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    官方源(比较慢,适合国外)

    yum-config-manager --add-repo https:**//download.docker.com/linux/centos/**docker-ce.repo

    添加yum仓库后,可查看docker仓库

    ls -al /etc/yum.repos.d/

    1.3 更新yum缓存

    yum makecache fast

    1.4 查看仓库中的docker版本,按版本从高到低对结果进行排序

    yum list docker-ce --showduplicates|sort -r

    1.5 安装Docker Engine-Community(在线安装)

    安装最新版

    yum install -y docker-ce

    安装指定版本

    yum install docker-ce-版本号

    注意:docker 安装之后默认不启动,需要手动启动

    1.6 启动Docker()

    systemctl start docker

    注意:如果启动不成功,需要修改docker私有仓库,文件不存在则需要新增

    vi /etc/docker/daemon.json

    {
    “registry-mirrors”: [“https://docker.das-security.cn”],
    “insecure-registries”: [],
    “log-driver”: “json-file”,
    “log-opts”: {
    “max-size”: “200m”,
    “max-file”: “3”
    }
    }

    加入开机启动

    systemctl enable docker

    验证是否安装成功

    docker version

    备注:

    1)在安装docker之前需要先检查是否docker已经安装

     yum list intsalled |grep docker
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IxbiSwWw-1641780199282)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211216124230822.png)]

    2)如果存在需要移除旧的版本

    ​ yum remove docker\

  2. Docker镜像加速

    国内DockerHub拉取镜像时比较困难,可以配置镜像加速器,例如:

    针对centos7,需要执行命令查看docker.service文件中配置过镜像地址

    systemctl cat docker |grep \-\-registry\-mirror

    如果有输出,执行systemctl cat docker 查看Execstart 出现的位置,修改对应的文件内容,去掉–registry-mirror参数及值

    如果没有输出,可以在/etc/docker/daemon.json 中写入以下内容(文件不存在需要新建):

    {
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com"
      ]
    }
    

​ 之后重新启动服务

systemctl daemon-reload

systemctl restart docker

   "https://hub-mirror.c.163.com",
   "https://mirror.baidubce.com"
 ]

}


​       之后重新启动服务

systemctl daemon-reload

systemctl restart docker