Arch Linux (WSL2) Docker 环境踩坑记

1. 基础安装

Bash

复制代码
sudo pacman -Syu docker docker-compose docker-buildx --overwrite "*"

2. 踩坑 1:Glibc 名字解析死锁导致 docker info 卡顿 96 秒

病灶 :/etc/nsswitch.conf 中默认带有 resolve [!UNAVAIL=return] 等插件,在未开启完整 systemd 的 WSL2 中会导致严重的超时等待。

Bash

复制代码
sudo nano /etc/nsswitch.conf

将 hosts: 行精简修改为文件与 DNS 优先模式:

Plaintext

复制代码
hosts: files dns myhostname

3. 踩坑 2:新版 Docker Desktop 代理套接字对齐与免 sudo 权限

病灶 :新版 Docker Desktop 在 WSL 内部将本地通道整合为了 docker.proxy.sock,导致默认的 /var/run/docker.sock 变成死链。

Bash

复制代码
# 1. 强制建立指向真正代理套接字的软链接
sudo ln -sf /mnt/wsl/docker-desktop/shared-sockets/guest-services/docker.proxy.sock /var/run/docker.sock

# 2. 赋予当前非 root 用户免 sudo 的读写权限
sudo chmod 666 /var/run/docker.sock

# 3. 验证基础响应速度
time docker info

4. 踩坑 3:新版 Docker CLI 找不到 Compose 插件 (unknown command)

病灶 :Arch 的 docker 升级到前沿大版本后,对外部插件的扫描极其严格。如果权限不对或未置于黄金路径,会直接报 unknown flag/command。

Bash

复制代码
# 1. 确保 pacman 安装的官方插件目录具备全局"可执行"权限
sudo chmod -R +x /usr/lib/docker/cli-plugins/

# 2. 强行在当前用户家目录下建立 Docker CLI 无法拒绝的黄金路径软链接
mkdir -p ~/.docker/cli-plugins
ln -sf /usr/lib/docker/cli-plugins/docker-compose ~/.docker/cli-plugins/docker-compose
ln -sf /usr/lib/docker/cli-plugins/docker-buildx ~/.docker/cli-plugins/docker-buildx

# 3. 彻底刷新当前终端的 Zsh 命令哈希表缓存
rehash

# 4. 完美合体验证
docker compose version
相关推荐
傲世仙尊16 分钟前
重写的顿悟-lambda类型擦除条件变量的真相与sendto里的bind
linux·网络
zhangrelay27 分钟前
ROS2 Lyrical实验5导航Nav2
linux·笔记·学习·ubuntu·机器人
谢亮_vipxieliang28 分钟前
私有镜像仓库:Registry、Harbor 与镜像同步实战
网络·docker·容器
一条破秋裤44 分钟前
Linux 线程分离与主动取消:pthread_detach、pthread_cancel
java·linux·jvm
j7~44 分钟前
【Linux网络】四十六.《高级 IO (上篇)》-- 详解
linux·运维·网络
IT大白鼠1 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 0 篇 · 导读:把 Linux 运维交给 AI,到底靠谱吗
linux·运维·人工智能
AI智讯中枢1 小时前
高性能 C++ 实战 (五):perf+FlameGraph 火焰图生产实战,精准定位 CPU / 缓存 / 锁瓶颈,避坑 + 完整实操案例
linux·c++·性能调优·性能分析·perf·flamegraph·火焰图
xbzb2 小时前
Linux SELinux 安全加固与标签排错手册
linux·运维·安全
努力努力再努力wz2 小时前
【边缘计算入门系列】从“在哪里算”到“怎么算”:一文建立边缘计算、算子、计算图与 Tensor 的底层心智模型
人工智能·docker·边缘计算
江湖有缘2 小时前
3款开源IT工具箱整理合集,可Docker一键部署!
docker·容器·开源