Ubuntu下安装Docker CE

系统要求

如需安装Docker,需要一下Ubuntu之一的64为版本

  • Zesty 17.04
  • Yakkety 16.10
  • Xenial 16.04 (LTS)
  • Trusty 14.04 (LTS)

卸载旧版本

Docker 的早期版本称为 docker 或 docker-engine。如果安装了这些版本,请卸载它们:

  1. sudo apt remove docker docker-engine docker.io

安装Docker CE

  1. 更新DOCKER CE
    1. sudo apt update
  1. 安装最新版本的 Docker CE,或者转至下一步以安装特定版本。将替换任何现有的 Docker 安装版本。
    1. sudo apt install docker-ce
  1. 验证是否正确安装了 Docker CE,运行 hello-world 镜像
    1. sudo docker run hello-world

从软件包进行安装

如果无法使用 Docker 镜像仓库安装 Docker CE,可以下载适用于您的版本的 .deb 文件,并手动进行安装。

  1. 转至 https://download.docker.com/linux/ubuntu/dists/ , 选择您的 Ubuntu 版本,浏览至 pool/stable/,然后选择 amd64、 armhf 或 s390x。下载适用于您要安装的 Docker 版本的 .deb 文件以及适用于您的 Ubuntu 版本的 .deb 文件。

    注:如需安装 edge 软件包,请将 URL 中的词 stable 更改为 edge。 了解 stable 和 edge 渠道。

  1. 安装 Docker CE,并将下面的路径更改为下载 Docker 软件包的路径。
    1. sudo dpkg -i /path/to/package.deb
  1. 验证是否正确安装了 Docker CE,方法是运行 hello-world 镜像。
    1. sudo docker run hello-world

升级Docker CE

如需升级 Docker CE,请下载较新的软件包文件并重复安装过程,指向新文件。

Centos下安装Docker CE

这里仅以CentOS 安装 Docker CE 举例说明。详见Docker 官方 CentOS 安装文档

Centos系统要求

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。

警告:切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker.

Centos卸载旧版本

旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:

  1. sudo yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-selinux \
  9. docker-engine-selinux \
  10. docker-engine

使用脚本安装(非生产环境)

对于个人测试,可以使用这个脚本自动化安装Docker:

  1. curl -fsSL get.docker.com -o get-docker.sh
  2. sh get-docker.sh

但是,需要注意, 这个脚本可能扰乱你的系统配置、安装及大量的(你可能用不到的)依赖,并且只能安装最新(可能未经充分测试的)版本的Docker , 所以不推荐在生产环境中使用。

使用 yum 安装

安装依赖包:

  1. sudo yum install -y yum-utils \
  2. device-mapper-persistent-data \
  3. lvm2

添加 yum 软件源:

  1. # 中国科学技术大学开源软件镜像源
  2. sudo yum-config-manager \
  3. --add-repo \
  4. https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
  5. # 官方源
  6. # sudo yum-config-manager \
  7. # --add-repo \
  8. # https://download.docker.com/linux/centos/docker-ce.repo

更新 yum 软件源缓存,并安装 docker-ce

  1. sudo yum makecache fast
  2. sudo yum install docker-ce

离线安装

以docker-ce-18.03.1为例:

  1. https://download.docker.com/linux/centos/7/x86_64/stable/Packages/这里找到对应rpm包
  2. 执行安装命令:rpm -ivh docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
  3. 由于安装环境不同,可能会发现缺少一些相关依赖包(eg: libcgroup、libtool-ltdl、container-selinux)前往 https://pkgs.org/https://buildlogs.centos.org/ 下载对应依赖包,依次安装即可

启动 Docker CE

  1. sudo systemctl enable docker
  2. sudo systemctl start docker

建立 Docker 用户组

默认情况下,docker命令需要root权限,为了避免每次输入命令都要加sudo,可以将用户加入 docker 用户组:

  1. sudo groupadd docker
  2. sudo usermod -aG docker $USER

退出当前终端并重新登录,进行如下测试。

测试 Docker 是否安装正确

执行

  1. docker run hello-world

Docker会从官方仓库下载hello-world镜像并启动,如果一切正常的话会看到类似如下提示:

  1. Unable to find image 'hello-world:latest' locally
  2. latest: Pulling from library/hello-world
  3. ca4f61b1923c: Pull complete
  4. Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
  5. Status: Downloaded newer image for hello-world:latest
  6. Hello from Docker!
  7. This message shows that your installation appears to be working correctly.
  8. To generate this message, Docker took the following steps:
  9. 1. The Docker client contacted the Docker daemon.
  10. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  11. (amd64)
  12. 3. The Docker daemon created a new container from that image which runs the
  13. executable that produces the output you are currently reading.
  14. 4. The Docker daemon streamed that output to the Docker client, which sent it
  15. to your terminal.
  16. To try something more ambitious, you can run an Ubuntu container with:
  17. docker run -it ubuntu bash
  18. Share images, automate workflows, and more with a free Docker ID:
  19. https://cloud.docker.com/
  20. For more examples and ideas, visit:
  21. https://docs.docker.com/engine/userguide/