近期因为某些自动测试的须要,须要装置一个 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].
的提醒。
解决方案有二:
- 从新将零碎 DVD 盘进行挂载(这应该不是惟一的装置形式)后从新执行上述命令实现 QEMU 的装置,而后按本文 勾销 CD 源的操作 操作持续操作。这也是本文在理论装置中应用的形式。
- 按本文的 勾销 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,按官网的说法,则须要装置 AppIndicator
和KStatusNotifierItem
两个 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 好了