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

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

http://www.kler.cn/a/582724.html

相关文章:

  • 一周学会Flask3 Python Web开发-使用SQLAlchemy动态创建数据库表
  • UE5以插件的形式加载第三方库
  • 科技工作者之家建设扬帆起航,为科技人才提供更多优质服务
  • Web服务器配置、虚拟主机配置、访问权限控制
  • 无人机+无人车+机器狼+DeepSeek:智能化设备集群技术详解
  • 【docker】Windows10启动Docker Desktop - WSL update failed
  • 安装 ubuntu 2404 LTS 服务器 设置 服务器名称
  • JVM的垃圾回收器都有哪些?
  • Vite打包原理: Tree-shaking在Vue3项目中的实际效果
  • JVM垃圾收集器合集
  • 查看linux系统重启的日志
  • 利用8个参数定义一个汽轮机,然后根据这8个参数生成汽轮机性能试验时的测点清单-pycharm-源代码(适用所有类型汽轮机)
  • 数智读书笔记系列016 从《理解和改变世界》探寻AI时代的知识与智能密码
  • 邮箱验证:外贸邮件营销中的关键策略
  • 在终端中用code命令打开vscode并加载当前目录了
  • 部署项目至服务器:响应时间太长,无法访问此页面?
  • AGI大模型(2):GPT:Generative Pre-trained Transformer
  • 【C++ STL】 容器详解:pair 学习
  • electron + vue3 + vite 渲染进程与渲染进程之间的消息端口通信
  • 力扣:3305.元音辅音字符串计数