Docker 入门指南:如何在 Ubuntu 上安装和使用 Docker

官方 Ubuntu 存储库中提供的 Docker 安装软件包可能不是最新版本。

Ubuntu 官方的版本库中并不一定是 Docker 最新的安装包,为了保证是最新版,我们从 Docker 官方库来安装。

首先,更新现有的软件包列表:

$ sudo apt update 

注意:如果无法更新,可能是你的软件源指向是国外的服务器,很可能已经被墙。所有首次更新请打开 VPN。

接下来,安装一些必备软件包,让 apt 通过 HTTPS 使用软件包。

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

然后将官方 Docker 版本库的 GPG 密钥添加到系统中:

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

执行后显示

ok 

将 Docker 版本库添加到APT源:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" 

接下来,我们用新添加的 Docker 软件包来进行升级更新。

sudo apt update 

确保要从 Docker 版本库,而不是默认的 Ubuntu 版本库进行安装:

apt-cache policy docker-ce 

执行后会看到这样的结果( Docker 的版本号可能略有不同)

docker-ce: Installed: (none) Candidate: 5:19.03.12~3-0~ubuntu-focal Version table: 5:19.03.12~3-0~ubuntu-focal 500 500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages 5:19.03.11~3-0~ubuntu-focal 500 500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages 5:19.03.10~3-0~ubuntu-focal 500 500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages 5:19.03.9~3-0~ubuntu-focal 500 500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages 

请注意,到目前这一步docker-ce还未安装,但根据上一步中的列表,可以看到 docker-ce 来自 Docker 官方版本库。

最后,安装 Docker :

sudo apt install docker-ce 

现在 Docker 已经安装完毕。我们启动守护程序。检查 Docker 是否正在运行:

sudo systemctl status docker 

执行结果类似以下内容,说明该服务处于活动状态并且正在运行:

● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-07-08 02:55:20 UTC; 5min ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 4287 (dockerd) Tasks: 8 Memory: 36.4M CGroup: /system.slice/docker.service └─4287 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 

安装完成之后需要进行一些配置,包括 切换docker下载源为国内镜像站 以及 修改cgroups。

这个cgroups是啥呢,你可以把它理解成一个进程隔离工具,docker就是用它来实现容器的隔离的。docker 默认使用的是cgroupfs,而 k8s 也用到了一个进程隔离工具systemd,如果使用两个隔离组的话可能会引起异常,所以我们要把 docker 的也改成systemd。

这两者都是在/etc/docker/daemon.json里修改的,所以我们一起配置了就好了,首先执行下述命令编辑daemon.json:

sudo vi /etc/docker/daemon.json 

打开后输入以下内容:

{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://reg-mirror.qiniu.com", "https://quay-mirror.qiniu.com" ], "exec-opts": [ "native.cgroupdriver=systemd" ] } 

然后:wq保存后重启 docker:

sudo systemctl daemon-reload sudo systemctl restart docker 

然后就可以通过docker info | grep Cgroup来查看修改后的 docker cgroup 状态,发现变为systemd即为修改成功。

安装完了 docker 就可以下载 k8s 的三个主要组件kubelet、kubeadm以及kubectl了。这一步两台主机都需要进行安装。先来简单介绍一下这三者:

kubelet: k8s 的核心服务
kubeadm: 这个是用于快速安装 k8s 的一个集成工具,我们在master1和worker1上的 k8s 部署都将使用它来完成。
kubectl: k8s 的命令行工具,部署完成之后后续的操作都要用它来执行
其实这三个的下载很简单,直接用apt-get就好了,但是因为某些原因,它们的下载地址不存在了。所以我们需要用国内的镜像站来下载,也很简单,依次执行下面五条命令即可:
使得 apt 支持 ssl 传输

apt-get update && apt-get install -y apt-transport-https 

下载 gpg 密钥

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 

添加 k8s 镜像源

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF 

更新源列表

apt-get update 

下载 kubectl,kubeadm以及 kubelet

apt-get install -y kubelet kubeadm kubectl 

原文链接:https://blog.csdn.net/qq_34567537/article/details/127551257

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享