Docker安装教程

时间:2020-03-05 15:25:21  来源:igfitidea点击:

在本文中,我们将学习如何在Ubuntu上安装最新的Docker以及如何对其进行配置。

对于最新的Docker,我的意思是最新的Docker Engine Community Edition(CE)。
Ubuntu在其存储库中也有可用的Docker软件包,但是,我建议我们使用社区版。

在Ubuntu上安装Docker

因此,我想我们已经安装了Ubuntu系统。
我们应该做的第一件事是更新系统:

sudo apt update

如果我们已经安装了任何种类的Docker软件包,则也应将其删除,以免发生冲突。

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

现在,以下步骤将为我们提供可运行版本的Docker CE,并在系统上运行。

步骤1:通过HTTPS启用安装

我们需要以下软件包才能通过apt使用https:

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

有些软件包可能已经安装在系统上。

步骤2:添加官方Docker GPG密钥

在从Docker添加新存储库之前,请添加其GPG密钥。
使用curl命令下载GPG密钥,然后使用apt-key命令添加它。

我们可以将两个命令与管道结合使用:

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

最好验证密钥,以免造成意外惊喜:

sudo apt-key fingerprint 0EBFCD88

其输出应如下所示:

pub rsa4096 2016-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <Hyman@theitroad>
sub rsa4096 2016-02-22 [S]

步骤3:添加Docker存储库

现在我们已经添加了存储库密钥,添加存储库本身:

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

如果我们使用的是Ubuntu 16.04,则可能还必须更新存储库:

sudo apt update

步骤4:安装Docker

一切都准备好了。
现在,我们应该安装Docker及其相关软件包:

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

在Ubuntu上设置Docker

我们已经安装了Docker,但还没有结束。
我们需要执行一些其他基本设置和配置,才能使其平稳运行。

1.在没有sudo的情况下运行docker

我们应该做的一件事是将用户名添加到docker组中,这样我们就不必一直使用sudo了。

Docker组可能已经存在。
使用groupadd命令创建组泊坞窗:

sudo groupadd docker

使用usermod命令将用户名或者其他用户添加到该组。

用实际的用户名更改用户名。

sudo usermod -aG docker <username>

2.通过运行示例容器来验证docker安装

首先,重新启动Ubuntu,然后通过下载并运行hello-world docker镜像来确认Docker运行正常:

docker run hello-world

其输出应如下所示:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest:
sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1a
c8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working
correctly

为了让我们更好地理解,让我解释一下这里发生的情况。

  • Docker客户端联系了Docker守护程序。
  • Docker守护程序从Docker Hub中提取了“ hello-world”镜像。
  • Docker守护程序从该镜像创建了一个新容器,该容器运行可执行文件,该可执行文件会生成我们当前正在读取的输出。
  • Docker守护程序将该输出流式传输到Docker客户端,该客户端将其发送到终端。

3.每次启动时运行Docker

要确保Docker在每次启动时自动运行,请使用以下命令:

sudo systemctl enable docker