docker简介与ubuntu/linux环境下docker安装

docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

换成我能懂的话来说

  1. docker可以把一个完整的应用打包成一个容器,注意这个容器包含实现这个应用的几乎全部组件,包含的组件就不需要和外部交互了。
    譬如一个博客平台wordpress,不使用docker时,它需要与环境中的php交互才能run;但是如果使用docker的wordpress容器,那么这个容器内部是包含php组件的,此时修改外部的php配置是不能对容器产生影响的,需要修改的是容器内部的php配置;
  2. 所以容器的多平台可移植性极佳,打包配置好的容器在别的平台上的docker里面可以轻松迁移运行,避免配环境的痛苦;
  3. Docker 轻巧快速。比虚拟机的资源消耗更小, 非常适合高密度环境以及中小型部署,用更少的资源做更多的事情。

ubuntu/linux环境下docker安装

安装过程以Ubuntu20.05为例。首先卸载系统中已有的老版本docker

sudo apt-get remove docker docker-engine docker.io containerd runc

开始安装

  1. 更新软件包并安装docker依赖
    更新Ubuntu软件包,也可以更新一下可更新的软件,然后安装docker的相关依赖。

    sudo apt update
    sudo apt upgrade
    sudo apt-get install ca-certificates curl gnupg lsb-release
  2. 添加docker的官方gpg密钥
    运行命令添加,成功的话会返回“OK”

    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  3. 添加docker使用的软件源
    由于docker的官方软件源在域外,所以经常速度过慢甚至访问失败。此步可以添加阿里的docker源试图加速访问。
    添加时注意自己的机器平台时amd64/arm64等等。

    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  4. 安装docker
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  5. 将常用用户添加进docker组(可选但推荐)
    默认设置中,只有root用户才能运行docker命令(此时docker组成员只有root用户)。故我们把当前用户添加入docker组,日后运行命令就不需要添加sudo了。

    sudo usermod -aG docker $USER
  6. 安装常用工具
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  7. 验证docker安装
    sudo docker run hello-world

    测试前确定docker已经运行,docker作为一个服务可以通过systemctl管理

    systemctl start docker      #运行docker
    systemctl restart docker    #重启docker
    systemctl stop docker       #停止docker
    systemctl status docker     #查看docker运行状态

当看到Hello World时就成功啦。