基于 Ubuntu 安装 Docker

Posted by 彭超 on 2019-07-06
Estimated Reading Time 4 Minutes
Words 1.2k In Total
Viewed Times

什么是 Docker

Docker 是一个虚拟化容器引擎,完全使用沙箱隔离机制,较传统的 VM 虚拟机有很大优势。

《Linux 安装 Docker》

《Linux 安装 Docker》

传统虚拟机(VM)和虚拟化容器(Docker)的区别:

传统的 VM 虚拟机不能共享资源 , 比如在 VMWare 中安装了一个内存为 4GB 的 Linux 操作系统 , 意味着该Linux系统使用了宿主机中固定的 4GB 内存且不能与宿主机或其它虚拟系统共享该资源 , 可能会造成资源浪费或资源溢出。

Docker 弥补了传统 VM 虚拟机的缺点 , 每个虚拟化操作系统可以互相共享资源 , 解决了资源溢出或者资源浪费等一系列问题。

Docker 主要概念

Docker 镜像(Image)

操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image)就相当于是一个 root 文件系统。

Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如环境变量、用户等)。

Docker 容器(Container)

Docker 镜像和 Docker 容器的关系,就像是面向对象程序设计中的类与对象,镜像是静态的定义。

容器是镜像运行时的实体,可以被创建、启动、停止、删除、暂停等。

容器内的进程是运行在一个隔离的环境里,使用起来就好像是在一个独立于宿主的系统下操作一样,这种特性使得容器封装的应用比直接在宿主运行更加安全。

Docker 仓库(Registry)

镜像构建完成之后,一行命令就可以在当前的宿主机上运行起来,但是如果要在其它服务器上使用这个镜像,就需要一个集中存储镜像的仓库 — 即 Docker 仓库。

公有 Docker Registry:最常使用的 Registry 公开服务是官方的 Docker Hub,但在国内访问会比较慢,而国内的一些云服务商提供了针对 Docker Hub 的镜像服务,常见的有 阿里云DaoCloud 加速器,比直接从 Docker Hub 下载速度会提高很多。

私有 Docker Registry:可以在本地搭建私有 Docker Registry。Docker 官方提供了 Docker Registry 镜像,可以直接使用做为私有 Registry 服务。

安装 Docker

方法一:使用脚本自动安装

1
$ curl -fsSL get.docker.com -o get-docker.sh
1
$ sudo sh get-docker.sh --mirror Aliyun

执行这两行命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE Edge 安装在系统中。

方法二:使用 APT 安装

安装一些必要的系统工具

1
$ sudo apt-get update
1
$ sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

安装 GPG 证书

1
$ curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

写入软件源信息

1
$ sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新软件源

1
$ sudo apt-get -y update

安装 Docker CE

1
$ sudo apt-get -y install docker-ce

加入 Docker 用户组

安装之后,默认情况下,Docker 命令会使用 Unix socket 与 Docker 引擎通讯,而只有 Root 用户和 Docker 组的用户才可以访问 Docker 引擎的 Unix socket,一般 Linux 系统上不会直接使用 Root 用户。因此,更好地做法是将需要使用 Docker 的用户加入 Docker 用户组。

  • 建立 Docker 用户组

    1
    $ sudo groupadd docker
  • 将用户加入 Docker 用户组

    1
    $ sudo usermod -aG docker $USER

配置镜像加速器

由于国内从 Docker Hub 下载镜像有时会非常缓慢,因此可以配置国内云服务商提供的镜像加速器:

阿里云镜像加速器

添加镜像加速器

  • 登录阿里云
  • 进入 容器镜像服务控制台 > 镜像加速器
  • 添加镜像加速器
  • 复制加速器地址,如下图
    file

Ubuntu 14.04、Debian 7 Wheezy 系统配置

编辑 docker 配置文件

1
$ sudo nano /etc/default/docker

添加以下代码

1
DOCKER_OPTS="--registry-mirror=<镜像加速器地址>"

重启 Docker 服务

1
$ sudo service docker restart

Ubuntu 16.04+、Debian 8+、CentOS 7 系统配置

编辑 daemon.json 配置文件

1
$ sudo nano /etc/docker/daemon.json

添加以下代码

1
2
3
4
5
{
"registry-mirrors": [
"<镜像加速器地址>"
]
}

重启 Docker 服务

1
$ sudo systemctl daemon-reload
1
$ sudo systemctl restart docker

检查加速器是否生效

1
$ docker info

看到输出以下内容,说明镜像加速器配置成功

1
2
Registry Mirrors:
<镜像加速器地址>

If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !