• Docker入门(一)-安装


    一、Docker简介

    什么是Docker?

    Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在GitHub上进行维护。

    Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

    Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker 的基础是 Linux 容器(LXC)等技术。

    在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

    简单来说,Docker类似与VM的虚拟机,只是实现的层面不同。Docker是基于操作系统上的轻量级虚拟化,速度更快。而传统的虚拟机VM是基于物理层面的硬件虚拟化,运行的效率比较低

    详细解释可参考:https://www.jianshu.com/p/3bfa8d09bc8b

    Docker的组成?

    了解Docker的组成首先要清楚三个关键概念

    • 仓库(Repository)
    • 镜像(Image)
    • 容器(Container)

    为了更加形象深刻的解析这三个词,我们来打个不太恰当的比方:比如玩过LOL的就知道,如果我想玩一个名叫"疾风剑豪-亚索"的英雄(镜像),那么首先就要有足够的金币,然后到游戏商城(仓库)购买。你就可以在游戏中使用这个英雄(容器),而且皮肤,天赋都是可以根据自己的需要去设置的。

    二、Docker安装

    1.查看系统的内核版本,系统使用的是CentOS7.7_x64

    [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
    [root@localhost ~]# cat /etc/redhat-release
    CentOS Linux release 7.7.1908 (Core)

    2.设置阿里云网络yum源

    略......

    3.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。(注意在生产环境中如果没有特殊情况,不要随便使用yum update更新系统内核

    [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
    Loaded plugins: fastestmirror
    Determining fastest mirrors
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    ......

    4.设置Docker的yum源

    [root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    Loaded plugins: fastestmirror
    adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
    grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
    repo saved to /etc/yum.repos.d/docker-ce.repo

     5.可以查看所有仓库中所有的Docker版本,并选择特定版本安装

    [root@localhost ~]# yum list docker-ce --showduplicates | sort -r
     * updates: mirrors.aliyun.com
    Loading mirror speeds from cached hostfile
    Loaded plugins: fastestmirror
     * extras: mirrors.aliyun.com
    docker-ce.x86_64            3:19.03.5-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.4-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.3-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.2-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.1-3.el7                     docker-ce-stable
    docker-ce.x86_64            3:19.03.0-3.el7                     docker-ce-stable
    ......

    6.安装Docker,命令:yum install docker-ce-版本号,我选的是17.12.1.ce,如下:

    [root@localhost ~]# yum install docker-ce-17.12.1.ce -y
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package docker-ce.x86_64 0:17.12.1.ce-1.el7.centos will be installed
    --> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-17.12.1.ce-1.el7.centos.x86_64
    --> Processing Dependency: libcgroup for package: docker-ce-17.12.1.ce-1.el7.centos.x86_64
    ......

    7.开启Docker服务,并设置开机自启动

    [root@localhost ~]# systemctl start docker
    [root@localhost ~]# systemctl enable docker
    Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

    8.查看Docker是否成功安装并运行(显示server和client说明安装Docker成功!

    [root@localhost ~]# docker version
    Client:
     Version:    17.12.1-ce
     API version:    1.35
     Go version:    go1.9.4
     Git commit:    7390fc6
     Built:    Tue Feb 27 22:15:20 2018
     OS/Arch:    linux/amd64
    
    Server:
     Engine:
      Version:    17.12.1-ce
      API version:    1.35 (minimum version 1.12)
      Go version:    go1.9.4
      Git commit:    7390fc6
      Built:    Tue Feb 27 22:17:54 2018
      OS/Arch:    linux/amd64
      Experimental:    false

  • 相关阅读:
    快速开发一个自己的微信小程序
    ES6系列汇总
    数组、Set对象的互相转换
    CORS 跨域
    模板引擎之hogan.js
    Flex 布局语法教程
    ES6 Javascript 实用开发技巧
    几种知名开源富文本编辑器对比
    python 字符串的一些操作
    python os模块一些常用操作
  • 原文地址:https://www.cnblogs.com/ashjo009/p/12221348.html
Copyright © 2020-2023  润新知