近期因为某些自动测试的须要,须要装置一个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 $USERusername$ cat /etc/subuidusername:100000:65536$ cat /etc/subgidusername: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好了