乐趣区

关于debian:ebian11安装docker-desktop从入门到放弃

近期因为某些自动测试的须要,须要装置一个 docker 服务器环境。查看 docker 的官方站点,发现无论是 windows 还是 macos 或 liunx,以后官方站点都举荐装置 docker desktop。于是,便有了这篇文章。

debian 装置

debian 的装置并不是本文的重点,装置过程略。在进行 UI 抉择时,本文抉择是的 KDE,起因是 docker 官网讲 Gnome 不反对一种图标,所以须要装置扩大。我想应该 KDE 反对的会更完满一些,所以坑应该会少一些吧。

增加 sudo

默认的用户装置后,因为并不属于系统管理员,所以是无奈装置任何软件的。此时,咱们此须要将咱们本人定义的非 root 用户增加到 sudoer 中。当然了,或者你能够间接应用 root 来操作,我想应该也是能够了。为了符合国际平安常规,在此本文采纳将普通用户增加到 sudoer 中的形式。

首先咱们关上控制台:

而后输出 su - 命令,输出 root 明码:

su - 命令示意:切换到 root 用户的同时应用以后用户的环境,避免切到 root 后因为 $path 的设置问题导致一些命令无奈找到的谬误。比方:bash: usermod: command not found

接下来,咱们把以后用户增加到 sudo 这个用户组中:

$ usermod -a -G sudo <username>

在一些文章中呈现 <xxx>,示意应该把 <xxx> 中的内容替换为本人的理论值,比方本文要增加的用户名为 panjie,则须要将上述命令替换为 usermod -a -G sudo panjie

接下来,咱们登记以后用户,抉择从新进行登录。

此时以后用户曾经是 sudo 用户了。

设置代理(非必须)

设置 apt 代理请参考:https://www.serverlab.ca/tuto…

装置 QEMU

接下来,咱们按 QEMU 官网给出的计划来进行装置 QEMU 相干包:

$ sudo apt install qemu qemu-utils qemu-system-x86 qemu-system-gui

须要留神的是:如果你也是应用的 DVD 计划进行的计划,则可能碰到:Media change: please insert thid disc labeled 'Debin GNU/xxxx' xxx in the driver '/media/cdrom/' and press [Enter].的提醒。

解决方案有二:

  1. 从新将零碎 DVD 盘进行挂载(这应该不是惟一的装置形式)后从新执行上述命令实现 QEMU 的装置,而后按本文 勾销 CD 源的操作 操作持续操作。这也是本文在理论装置中应用的形式。
  2. 按本文的 勾销 CD 源的操作 操作,从新执行上述命令实现 QEMU 的装置。该形式原则上应该是没有问题的,但未验证。

装置实现后,执行:qemu-img --help,呈现提示信息则阐明装置胜利(装置过程未报错,但提醒找不到 qemu-img 找不到的话,能够尝试登记后再登录试试)。

版本号 5.2.0,合乎官网的最低要求。

勾销 CD 源

装置完 QEMU 后,其它的软件咱们还是心愿可能间接从网上装置了,此时则须要禁用下这个 CD 源。
在 KDE 中咱们顺次这么做:

其它要求

除了操作系统版本、CPU 版本、虚拟化反对、QEMU、KDE 桌面环境及不少于 4G 内存要求外,docker desktop 还能 ID 映射 (ID mapping) 有肯定的要求,侥幸的是通过确认咱们装置的 debian11 操作系统默认就满足这一要求,确认步骤如下:

$ echo $USER
username
$ cat /etc/subuid
username:100000:65536
$ cat /etc/subgid
username:100000:65536

留神:username 是咱们以后的用户名,比方本文中的panjie

装置 docker desktop

终于能够正式开始装置了,为了防止踩坑,咱们此时同样参考官网给出的装置教程。

装置 gnome-termial

因为本文应用提 KDE UI,所以须要装置gnome-terminal:

$ sudo apt install gnome-terminal

如果你应用的是 gnome UI,按官网的说法,则须要装置 AppIndicatorKStatusNotifierItem两个 Gnome 扩大。

设置 docker 仓库

同样参考官网教程,设置 docker package repository。

$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$  echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

装置 Docker Engine

其实须要阐明的是,如果咱们跑 docker 的目标是为了进行相干测试,那么这个 Docker Engine 才是咱们须要的。也就是说并不需要装置图形化的 Docker Desktop。那么随着并不需要装置的有:UI(Gnome 或 KDE)以及 QEMU。
因为本文的目标在于介绍如何装置 Docker Desktop,而在装置 Docker Desktop 的过程中,又会主动装置 Docker Engine,所以此局部在本文中并不需要。

下载最新的包

在 debian 中关上浏览器,拜访:https://docs.docker.com/deskt…

点击下载到 Downloads 文件夹中。

装置 package

下载实现后,进入下载文件的文件夹,本文为 Downloads,执行以下命令:

$ cd ~/Downloads
$ sudo apt-install update
$ sudo apt-get install ./docker-desktop-<version>-<arch>.deb

<version>-<arch> 依据你理论下载的文件名进行替换

此时将会主动执行一系列操作,静待实现。

按官网的说法,装置实现后会主动执行 3 个脚本:

其中一个是向 /etc/hosts 增加一个 k8s 的 DNS 指向,所以咱们也能够应用查看 /etc/hosts 文件的形式来确认装置是否胜利:

启动 Docker Desktop

从新关上一个新的 termial,而后执行 systemctl --user enable docker-desktop 命令,则能够胜利启动 Docerk Desktop!

$ systemctl --user enable docker-desktop

与启动命令类型,进行 Docker Desktop 的命令为:

$ systemctl --user stop docker-desktop

而后很遗憾的翻车了,docker-desktop 始终停在 stoped 状态。

而后本文应用 systemctl --user status docker-desktop | more 来查看最终的报错起因:

google 一通并没有发现有用的成果,于是:开始卸载以后 4.11.0 版本,装置一个指定的 4.8.2 版本。

如果你很侥幸的没有翻车,那么能够持续浏览开机自启动了

开机自启动

卸载

首先咱们进行 docker:

$ systemctl --user stop docker-desktop

而后执行卸载命令:

$ sudo apt remove docker-desktop

下载 4.8.2

同样应用 debian 中的浏览器,关上官网:https://docs.docker.com/desktop/

而后点击版本发行菜单:

再找到 4.8.2,点击 Debian 进行文件下载。

而后继续执行一遍后面的装置过程:

而后还呈现相干的谬误。

放弃!

仅装置 Docker Engine 好了

退出移动版