在 Arch Linux 上安装 Docker
创始人
2024-03-02 17:54:07
0

了解如何在 Arch Linux 上安装 Docker,并使用 Docker Compose 和制表符补全为运行容器做好准备。

在 Arch Linux 上安装 Docker 很简单。它可以在 Extra 仓库中找到,你可以简单地 执行 pacman 魔法

sudo pacman -S docker

但要在 Arch Linux 上正确运行 Docker,还需要执行更多步骤。

让 Arch Docker 做好准备

这一切都归结为以下步骤:

  • 从 Arch 仓库安装 Docker
  • 启动 Docker 守护进程并在每次启动时自动运行
  • 将用户添加到 docker 组以运行 docker 命令而无需 sudo

让我们看看详细步骤。

步骤 1:安装 Docker 包

打开终端并使用以下命令:

sudo pacman -S docker

输入密码并在询问时按 Y

这可能需要一些时间,具体取决于你使用的镜像。

? 如果你看到找不到包或 404 错误,那么你的同步数据库可能是旧的。使用以下命令更新系统(它将下载大量软件包并需要时间): sudo pacman -Syu

步骤 2:启动 docker 守护进程

Docker 已安装但未运行。你应该在第一次运行 Docker 命令之前启动 Docker 守护进程:

sudo systemctl start docker.service

我还建议启用 Docker 服务,以便 Docker 守护进程在系统启动时自动启动。

sudo systemctl enable docker.service

这样,你就可以开始运行 docker 命令了。你不再需要手动启动 Docker 服务。

步骤 3:将用户添加到 docker 组

Docker 已安装并且 Docker 服务正在运行。你几乎已准备好运行 docker 命令。

但是,默认情况下,你需要将 sudodocker 命令一起使用。这很烦人。

为了避免在每个 docker 命令中使用 sudo,你可以将自己(或任何其他用户)添加到 docker 组,如下所示:

sudo usermod -aG docker $USER

你必须注销(或关闭终端)并重新登录才能使上述更改生效。如果你不想这样做,请使用以下命令:

newgrp docker

现在已经准备好了。我们来测试一下。

步骤 4:验证 docker 安装

Docker 本身提供了一个很小的 Docker 镜像来测试 Docker 安装。运行它并查看是否一切正常:

docker run hello-world

你应该看到类似这样的输出,表明 Docker 成功运行:

恭喜! 你已经在 Arch Linux 上成功安装了 Docker。

可选:安装 Docker Compose

Docker Compose 已经成为 Docker 不可或缺的一部分。它允许你管理多个容器应用。

较早的经典 Compose 由 docker-compose Python 软件包提供。Docker 还将其移植到 Go 中,并通过 docker compose 提供,但该软件包附带 Docker Desktop

在这个阶段,我建议使用经典的 docker-compose 插件并使用以下命令安装它:

sudo pacman -S docker-compose

故障排除技巧

以下是你可能遇到的一些常见问题以及可能的解决方案:

制表符补全不适用于 docker 子命令

如果你想对 docker 命令选项使用制表符补全(例如将 im 补全到 images 等),请安装 bash-completion 包:

sudo pacman -S bash-completion

关闭终端并启动一个新终端。你现在应该能够通过 docker 命令使用制表符补全功能。

无法连接到 Docker 守护进程错误

如果你看到以下错误:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

那是因为 Docker 守护进程没有运行。参考步骤 2,启动 Docker 服务,确保其正在运行并启用它,以便 Docker 守护进程在每次启动时自动运行。

sudo systemctl start docker.service
sudo systemctl enable docker.service

尝试连接到 Docker 守护程序套接字时权限被拒绝

如果你看到此错误:

ddocker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

这是因为你需要使用 sudo 运行 docker 命令,或者将用户添加到 docker 组以在不使用 sudo 的情况下运行 docker 命令。

我希望这篇简短的文章可以帮助你在 Arch Linux 上运行 Docker。

(题图:MJ/9951f8bf-d2e5-4335-bd86-ebf89cba654d)


via: https://itsfoss.com/install-docker-arch-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

在CentOS系统中为Do...
理解Docker存储的核心机制:驱动与分层管理 在CentOS系统...
2025-06-16 07:41:58
Docker 4.42 版...
IT之家 6 月 12 日消息,科技媒体 linuxiac 昨日(...
2025-06-12 15:13:33
我的docker随笔39:...
本文介绍在容器中修改时间而不影响宿主机的系统时间。 问题提出 某容...
2025-06-01 18:45:21
【Docker】Netwo...
文章目录网络情况查看宿主机网络情况 `ifconfig&#...
2025-06-01 12:34:38
【Docker】Mysql...
文章目录安装mysql主从复制新建主服务器容器实例3307配置文件...
2025-05-31 14:48:56
关于docker mysq...
一,问题描述:         请求...
2025-05-31 01:58:31

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...