在Ubuntu/Debian/Fedora/Arch/CentOS上安装Docker CE

时间:2020-02-23 14:31:19  来源:igfitidea点击:

这里提供了如何在Ubuntu上安装Docker CE /在Debian上安装Docker CE /在Fedora上安装Docker /在Arch Linux上安装Docker,以及在CentOS上安装Docker CE的指南。请注意,不再支持较旧版本的docker(docker和docker-engine)。目前,可以使用docker CE(社区版)和docker EE(企业版)。

什么是Docker?

Docker是一个容器运行时引擎,它使我们可以将具有所有依赖关系的应用程序打包到用于软件开发的标准化单元中。

Docker容器将一个软件包装在一个完整的文件系统中,该文件系统包含运行所需的一切:代码,运行时,系统工具,系统库,我们可以在服务器上安装的任何东西。这样可以确保无论运行在哪种环境下,它都将始终运行相同的内容。

为什么选择Docker?

以下是有关Docker的重要注意事项:Docker容器基于开放标准,允许容器在所有主要Linux发行版和Microsoft操作系统上运行,并支持每种基础架构.Docker使开发人员可以自由定义环境以及更快地创建和部署应用程序从而使IT操作人员可以轻松,灵活地为IT操作人员快速响应变化。容器将应用程序与基础架构相互隔离,同时为应用程序提供了额外的保护层。每个虚拟机都包括应用程序,必要的二进制文件和库以及整个虚拟机。来宾操作系统,它们的大小可能均为数十GB。容器包括应用程序及其所有依赖项,但与其他容器共享内核。它们在主机操作系统的用户空间中作为隔离的进程运行。它们也不受任何特定基础架构的束缚,可在任何计算机,任何基础架构和任何云中运行的Docker容器.Docker为我们提供了无复杂性的选择,从便携式计算机到团队,再到私有基础架构和公共云提供商。

Ctop Top命令也适用于容器指标

如何在Linux上安装Docker CE

这里很好地介绍了在Ubuntu,Debian,Fedora,CentOS和Arch Linux发行版上安装Docker CE的过程。

在Ubuntu上安装Docker CE

卸载旧版本的Docker。 Docker的旧版本名称为docker或者docker-engine。如果已安装,请先将其卸载。

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

Docker CE软件包现在称为docker-ce。

更新apt包索引:

sudo apt-get update

安装软件包,以允许通过HTTPS使用存储库:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

添加Dockers官方GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add 

添加稳定的存储库:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装docker ce:

sudo apt-get update
sudo apt-get install docker-ce

如果我们想以非root用户身份使用Docker,现在应该考虑使用类似以下方式将用户添加到docker组中:

sudo usermod -aG docker your-user

运行以下命令以查看已安装的Docker版本。

$docker version
 Client:
  Version:           18.09.3
  API version:       1.39
  Go version:        go1.10.8
  Git commit:        774a1f4
  Built:             Thu Nov 28 06:53:11 2019
  OS/Arch:           linux/amd64
  Experimental:      false
 Server: Docker Engine - Community
  Engine:
   Version:          18.09.3
   API version:      1.39 (minimum version 1.12)
   Go version:       go1.10.8
   Git commit:       774a1f4
   Built:            Thu Nov 28 05:59:55 2019
   OS/Arch:          linux/amd64
   Experimental:     false

要获取有关docker的更多详细信息,请运行:

$docker info

在Debian上安装Docker CE

更新apt包索引:

sudo apt-get update

安装软件包,以允许通过HTTPS使用存储库:

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

添加Dockers官方GPG密钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add 

设置稳定的存储库:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

安装Docker:

sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io

在Fedora Linux上安装Docker CE

卸载旧版本的Docker:

sudo dnf remove docker docker-common docker-selinux docker-engine-selinux docker-engine

配置Docker仓库:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

安装Docker CE:

sudo dnf install docker-ce docker-ce-cli containerd.io

启动并启用docker服务:

sudo systemctl start docker && sudo systemctl enable docker

在CentOS Linux上安装Docker CE

卸载旧版本:

sudo yum remove docker docker-common docker-selinux docker-engine

安装准备工作:

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

设置稳定的仓库:

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

安装Docker CE:

sudo yum -y install docker-ce docker-ce-cli containerd.io

如果遇到依赖项错误,请运行:

sudo yum install -y --setopt=obsoletes=0 docker-ce docker-ce-selinux

启动并启用docker服务:

sudo systemctl start docker && sudo systemctl enable docker

在Arch上安装Docker CE:

安装呀:

yay Arch Linux/Manjaro的最佳AUR助手

使用pacaur安装Docker CE:

yay -S --noconfirm --needed docker

确认已成功安装:

$sudo docker version
 Client:
  Version:           18.09.2-ce
  API version:       1.39
  Go version:        go1.11.5
  Git commit:        62479626f2
  Built:             Mon Nov 11 23:58:17 2019
  OS/Arch:           linux/amd64
  Experimental:      false
 Server:
  Engine:
   Version:          18.09.2-ce
   API version:      1.39 (minimum version 1.12)
   Go version:       go1.11.5
   Git commit:       62479626f2
   Built:            Mon Nov 11 23:55:58 2019
   OS/Arch:          linux/amd64
   Experimental:     false