在 Ubuntu 22.04|20.04|18.04 上安装 Docker Desktop
容器化是运行轻量级可执行文件(称为容器)所需的软件代码的打包。打包的软件包括操作系统、库和依赖项。容器化技术已经存在了几十年,但开源DockerEngine的出现加速了它的收购。 Docker Engine于2013推出,作为行业标准工具,具有简单的开发人员工具和通用打包方法。如今,组织使用该工具来创建现有的云应用程序并对其进行现代化改造。
Docker Desktop 是一款易于安装的应用程序,可在 Linux、macOS 和 Windows 系统上运行。它使人们能够构建和共享容器化应用程序。 Docker Desktop 中包含的组件有:
- Docker引擎
- Docker CLI 客户端
- Docker 组合
- Docker 内容信任
- 库伯内斯
- 凭证助手
Docker Desktop 是首选,因为它可以与您选择的语言和开发工具配合使用,并且可以让您访问 Docker Hub 中的无数镜像和模板。这样,您可以轻松扩展您的环境,并通过安全存储库快速自动构建、集成和协作。
与 Docker Desktop 相关的其他功能包括:
- 易于安装 – 可以轻松设置完整的 Docker 开发环境。
- 自动更新 – 这保证了最新版本和安全性
- 借助本机 Windows Hyper-V 虚拟化实现快速可靠的性能
- 易于管理 – 自动安装、扩展和管理容器化工作负载和服务。在Windows上,您可以在 Linux 和 Windows Server 环境之间切换来构建应用程序。
- 代码和数据的卷安装,包括文件更改通知和轻松访问本地主机网络上正在运行的容器
- 使用受支持的 IDE 进行容器内开发和调试
- 在任何云平台上共享应用程序 – 它提供了以多种语言和框架容器化和共享应用程序的能力。
本指南提供了如何在 Ubuntu 22.04|20.04|18.04 上安装和使用 Docker Desktop 所需的步骤
1 – 系统要求
如果您的 Linux 主机满足以下规格,则此设置效果最佳:
- 64 位内核和 CPU 支持虚拟化
- 内存4GB以上
- QEMU 必须是 5.2 或更高版本
- Gnome 或 KDE 桌面环境。
- systemd 初始化系统。
- KVM虚拟化支持
由于 Docker Desktop for Linux 运行虚拟机 (VM),因此需要执行上述操作。
要手动加载 KVM 模块,请运行以下命令:
sudo modprobe kvm
sudo modprobe kvm_intel # Intel processors
sudo modprobe kvm_amd # AMD processors
检查模块是否启用。
$ lsmod | grep kvm
kvm_intel 282624 0
kvm 663552 1 kvm_intel
将您的系统用户添加到 KVM 组。
sudo usermod -aG kvm $USER
2 – 安装 Docker 引擎
继续并在 Ubuntu 22.04|20.04|18.04 上设置 Docker 存储库。首先,删除现有的存储库
sudo apt remove docker docker-engine docker.io 2>/dev/null
sudo apt update
安装所需的软件包:
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
添加 Docker 存储库。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-archive-keyring.gpg
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
使用以下命令在 Ubuntu 上安装 Docker:
sudo apt install docker-ce docker-ce-cli containerd.io uidmap
将您的用户帐户添加到 docker 组:
sudo usermod -aG docker $USER
newgrp docker
3 – 在 Ubuntu 上安装 Docker 桌面
现在下载最新的 Docker Desktop 软件包。复制最新 Debian 软件包的链接并使用 wget
下载。
wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.22.1-amd64.deb
卸载以前安装的 Docker Desktop 技术版、预览版或测试版
sudo apt remove docker-desktop
清理系统并彻底删除数据文件
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
对于使用非 Gnome 桌面环境的用户,您需要安装以下软件包。
sudo apt install gnome-terminal
下载后,执行以下命令来安装 Docker Desktop。
sudo apt install ./docker-desktop-*-amd64.deb
接受安装所需的任何依赖项:
....
0 upgraded, 44 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.5 MB/439 MB of archives.
After this operation, 129 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
执行后,Kubernetes 的 /etc/hosts 中将添加一个新条目,如图所示。
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
4 – 启动并使用 Docker Desktop
Docker Desktop 可以从应用程序菜单启动,如图所示
或者,使用以下命令从终端启动它:
systemctl --user start docker-desktop
同意许可条款。
Docker Desktop 将如下启动。
启动后,您将看到此主页。
检查以下可执行文件的版本。
$ docker compose version
Docker Compose version v2.6.0
$ docker --version
Docker version 20.10.17, build 100c701
$ docker version
Client: Docker Engine - Community
Cloud integration: v1.0.25
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:02:46 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:00:51 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
请记住 Docker Desktop 和 Docker Engine 都存在于计算机上。但现在 Docker Desktop 将其图像和容器存储在虚拟机中的独立存储位置中。
同时运行这两个可能会导致错误。也许你可以使用以下命令停止 Docker Engine 服务:
sudo systemctl stop docker docker.socket containerd
sudo systemctl disable docker docker.socket containerd
您还可以在 Docker Desktop 和 Docker Engine 之间切换。查看可用的上下文。
$ docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
desktop-linux * moby unix:///home/ubuntu/.docker/desktop/docker.sock
要使用首选上下文,请说默认,那么命令将为:
$ docker context use default
default
要使用docker-desktop上下文,命令将是:
$ docker context use desktop-linux
desktop-linux
5 – 配置 Docker 桌面
您可以根据自己的喜好配置 Docker Desktop。这些设置包括更新、版本频道、Docker Hub 登录等
- 常规选项卡
将出现带有上述选项的设置选项卡。在常规选项卡中,您可以进行多项配置,包括:
- 登录时启动 Docker Desktop,以便在打开会话时自动启动 Docker Desktop。也可以使用以下命令在终端中启用此功能:
systemctl --user enable docker-desktop
- 发送使用情况统计信息以发送 Docker Desktop 的报告
- 显示每周提示以显示有关该工具的建议消息
- 启动时打开 Docker Desktop 仪表板,启动时自动显示仪表板
- 启用 Docker Compose V1/V2 兼容模式 该选项用于启用 docker-compose 使用 Docker Compose V2
- 资源选项卡
另一个选项卡是资源选项卡。
在这里,您可以限制 Docker 使用的资源。进行所需的设置并保存。您还可以在高级设置下配置文件共享,以允许与Linux容器共享本地目录。
适当地添加 (+) 和删除 (-) 目录,然后应用更改。
仍然在资源选项卡中,有网络选项卡。如果默认选择的子网与系统上的某些内容发生冲突,此选项卡对于网络配置非常有用。您也可以在此处指定自定义子网。
还有许多其他配置,例如软件更新、Kubernetes、实验功能等,您可以自行探索。
6 – 使用 Docker Desktop 运行容器
现在,完成所需的配置后,运行示例容器。导航到主页并拉取所需的容器映像。对于本次演示,我将拉取并运行 Nginx。
拉出后,容器将启动,如图所示。
可以通过容器选项卡管理容器。在这里,您可以访问容器 CLI,在浏览器上查看并停止/启动。
在镜像选项卡中管理 Docker 镜像
7 – 更新/卸载 Docker Desktop
每当有更新的 Docker Desktop 版本时,UI 都会显示通知。每次您想要手动升级时,请下载新的软件包。
升级之前,请确保本地运行的实例已停止,然后按照正常的 Docker Desktop 安装步骤进行操作。
要卸载该软件包,请运行以下命令:
sudo apt remove docker-desktop
通过删除文件彻底清理:
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
您还需要从文件 $HOME/.docker/config.json
中删除 credsStore
和 currentContext
最终判决
这是关于如何在 Ubuntu 22.04|20.04|18.04 上安装和开始使用 Docker Desktop 的简短演示。还有许多其他功能您可以自行探索。我希望这对您来说很重要。
相关文章:
- 在 Linux 系统上安装 Docker CE
- 将 ONLYOFFICE 工作区作为 Docker 容器运行
- 在 Docker 容器中运行 Ghost CMS
- 安装 Mirantis cri-dockerd 作为 Kubernetes 的 Docker Engine shim
- 如何在 Docker 容器中运行 Graylog 服务器