当前位置: 首页 > news >正文

Ubuntu 24.04 Rootless Docker 安装指南

Ubuntu 24.04 Rootless Docker 安装指南

1. 准备工作

# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装必要依赖
sudo apt install -y uidmap dbus-user-session

2. 安装 Docker(常规方式)

​ 点击查看安装方式

3. 配置 Rootless 模式

# 安装 Rootless 依赖
sudo apt-get install -y fuse-overlayfs

# 配置用户子 UID/GID
echo "你的用户名:100000:65536" | sudo tee /etc/subuid
echo "你的用户名:100000:65536" | sudo tee /etc/subgid

# 配置当前用户(替换为你的用户名)
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 你的用户名

# 退出并重新登录以应用更改
exit

重新通过 SSH 或本地登录后继续:

# 安装 Rootless Docker
dockerd-rootless-setuptool.sh install

# 设置环境变量
echo 'export PATH=/usr/bin:$PATH' >> ~/.bashrc
echo 'export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock' >> ~/.bashrc
source ~/.bashrc

4. 配置 Systemd 服务(可选)

# 启用用户 linger(允许用户运行后台服务)
sudo loginctl enable-linger $(whoami)

# 安装 systemd 服务文件
systemctl --user enable docker
systemctl --user start docker

5. 配置镜像源

mkdir -p ~/.config/docker
cat > ~/.config/docker/daemon.json << EOF
{
  "registry-mirrors": [
  	"https://docker.m.daocloud.io",
  	"https://dockerproxy.com",
  	"https://docker.mirrors.ustc.edu.cn",
  	"https://docker.nju.edu.cn",
  	"https://dockerhub.icu",
  	"https://docker.registry.cyou",
  	"https://docker-cf.registry.cyou",
  	"https://dockercf.jsdelivr.fyi",
  	"https://docker.jsdelivr.fyi",
  	"https://dockertest.jsdelivr.fyi",
  	"https://mirror.aliyuncs.com",
  	"https://dockerproxy.com",
  	"https://mirror.baidubce.com",
  	"https://docker.m.daocloud.io",
  	"https://docker.nju.edu.cn",
  	"https://docker.mirrors.sjtug.sjtu.edu.cn",
  	"https://docker.mirrors.ustc.edu.cn",
  	"https://mirror.iscas.ac.cn",
  	"https://docker.rainbond.cc"
  ]
}
EOF
systemctl --user restart docker

6. 验证安装

# 检查 Docker 运行状态
systemctl --user status docker

# 运行测试容器
docker run --rm hello-world

7. 常见问题解决

​ 网络端口问题

​ Rootless 模式下,普通用户无法绑定 <1024 端口。如需绑定低端口:

sudo setcap cap_net_bind_service=ep $(which rootlesskit)

​ 存储驱动问题

​ 如果使用 overlay2 驱动:

echo '{"storage-driver": "overlay2"}' > ~/.config/docker/daemon.json
systemctl --user restart docker

8. 卸载 Rootless Docker

dockerd-rootless-setuptool.sh uninstall
sudo apt purge docker-ce docker-ce-cli containerd.io

​ 通过以上步骤,你可以在无需 root 权限的情况下安全地运行 Docker 容器。遇到问题时,可检查日志:

journalctl --user-unit docker.service

相关文章:

  • 动态参数二维码统计:构建APP渠道追踪体系
  • DeepSeek-R1 面试 -—— GRPO
  • 使用联核科技四向穿梭车能给企业带来哪些效益?
  • LeetCode 第4题:寻找两个正序数组的中位数
  • Linux的chmod命令,给文件设置权限
  • 【Agent实战】货物上架位置推荐助手(RAG方式+结构化prompt(CoT)+API工具结合ChatGPT4o能力Agent项目实践)
  • STC89C52单片机学习——第17节: [7-1]定时器
  • vue中常见面试题(会不断更新版)
  • 深度解读DeepSeek部署使用安全(48页PPT)(文末有下载方式)
  • 鸿蒙移动应用开发--UI组件及应用
  • Unity打包Android平台调用sherpa-onnx
  • 【VUE2】第五期——VueCli创建项目、Vuex多组件共享数据、json-server——模拟服务端api
  • MySQL隐式依赖引发的字段长度溢出:一次触发器事故的深度剖析
  • RK3588 openssl-3.4.1 编译安装
  • esProc SPL vs DuckDB:多源数据处理谁更胜一筹?
  • 编程自学指南:java程序设计开发,反射与注解,反射机制,注解
  • 【商城实战(31)】从0到1:商城项目部署全攻略
  • 提升模型准确性的关键技术与实践指南
  • Qt5中视口(ViewPort)与窗口(Window)
  • WordPress顶部菜单自定义的方法
  • 陈宝良 高寿仙 彭勇︱明清社会的皇权、商帮与市井百态
  • 阚吉林任重庆市民政局党组书记,原任市委组织部主持日常工作的副部长
  • 马上评|颜宁“简历打假”的启示
  • 潘功胜:将下调个人住房公积金贷款利率0.25个百分点
  • 青年与城市共成长,第六届上海创新创业青年50人论坛将举办
  • 缅甸国防军继续延长临时停火期限至5月31日