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

Linux 服务器配置 rootless docker Quick Start

流程

  • Root 用户安装 Rootless Docker 必需包
  • 普通用户可独立初始化自己的 Rootless Docker 环境
  • 普通用户无需 sudo 即可使用 Docker

Root 用户操作:安装 Rootless Docker 支持包

可参考 Docker官方文档 下载 Docker必须的配置。如果出现防火墙错误curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443,可以用国内镜像源

# 1. 更新 apt 包索引
sudo apt-get update
sudo apt install ca-certificates curl gnupg lsb-release uidmapsudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://mirrors.aliyun.com/docker-ce/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.gpg
EOF
Types: deb
URIs: https://mirrors.aliyun.com/docker-ce/linux/ubuntu
Suites: jammy
Components: stable
Signed-By: /etc/apt/keyrings/docker.gpgsudo apt-get update# 下载 docker-ce-rootless-extras
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

注意:这是全局安装包,只安装可执行文件和 Rootless 支持工具,不会自动启动 daemon。


普通用户初始化 Rootless Docker

普通用户在登录 shell 后执行:

# 1. 设置必要环境变量
export XDG_RUNTIME_DIR=$HOME/.docker/run
export PATH=/usr/bin:$PATH
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock# 2. 创建运行目录
mkdir -p "$XDG_RUNTIME_DIR"# 3. 初始化 Rootless Docker daemon
dockerd-rootless-setuptool.sh install
# 会在用户目录创建 Rootless Docker 数据目录和配置

解释

  • XDG_RUNTIME_DIR → 存放 socket 和状态文件
  • PATH → 确保能找到 docker 命令
  • DOCKER_HOST → 告诉 CLI 去哪个 socket 通信
  • dockerd-rootless-setuptool.sh install → 初始化用户自己的 Rootless Docker 环境

启动 Rootless Docker(每次登录或手动)

# 临时前台启动
dockerd-rootless.sh
# 前台运行,终端关闭后 daemon 停止# 后台启动并写日志
dockerd-rootless.sh > ~/.docker/rootless.log 2>&1 &

自动启动(推荐)

~/.bashrc~/.zshrc 添加:

export XDG_RUNTIME_DIR=$HOME/.docker/run
export PATH=/usr/bin:$PATH
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sockmkdir -p "$XDG_RUNTIME_DIR"# 自动启动 Rootless Docker(如果未运行)
if ! pgrep -u "$USER" dockerd-rootless.sh > /dev/null; thendockerd-rootless.sh >> ~/.docker/rootless.log 2>&1 &
fi
  • 每次登录 shell 自动启动 Rootless Docker
  • 日志保存到 ~/.docker/rootless.log
  • 避免重复启动导致 lock 错误

测试 Docker 是否可用

Docker Rootless官方文档

docker info

注意事项

  1. 端口限制:Rootless Docker 只能绑定 >1024 端口
  2. 性能:网络通过 slirp4netns,比 root Docker 略慢
  3. 数据隔离:每个用户自己的镜像和容器互不影响
  4. 停止/启动:关闭终端或 logout 后,非自动启动 daemon 会停止

✅ 总结流程

步骤Root/普通用户指令作用
1rootsudo apt-get install -y docker-ce-rootless-extras uidmap安装 Rootless Docker 支持包
2普通用户export XDG_RUNTIME_DIR=...; mkdir -p $XDG_RUNTIME_DIR; dockerd-rootless-setuptool.sh install初始化 Rootless Docker 环境
3普通用户dockerd-rootless.sh 或后台启动启动用户 daemon
4普通用户.bashrc 自动启动登录自动启动 Rootless Docker
5普通用户docker info测试 Docker 是否连接到Rootless daemon
http://www.dtcms.com/a/618081.html

相关文章:

  • LTE/5G L3 RRC层技术介绍
  • C语言进阶知识--文件操作
  • 网站建设需要哪些资料扶贫网站建设方案
  • C++标准模板库(STL)——list的模拟实现
  • 幽冥大陆(二十二)dark语言智慧农业电子秤读取——东方仙盟炼气期
  • 5.驱动led灯
  • RTL8367RB的国产P2P替代方案用JL6107-PC的可行性及实现方法
  • <MySQL——L1>
  • 有没有网站做字体变形自学软装设计该怎么入手
  • 做网站咸阳贵州省建设厅城乡建设网站
  • 分布式监控Skywalking安装及使用教程(保姆级教程)
  • 可信数据空间的分布式数字凭证和分布式数字身份
  • 分布式WEB应用中会话管理的变迁之路
  • 徐州市建设局招投标网站河南网站建站推广
  • 第44节:物理引擎进阶:Bullet.js集成与高级物理模拟
  • C++ Qt程序限制多开
  • 数据结构算法-哈希表:四数之和
  • 杭州翰臣科技有限公司优化方案物理必修三电子版
  • ASC学习笔记0024:移除一个现有的属性集
  • 洛阳做网站公司在哪建设工程信息管理网
  • win10安装miniforge+mamba替代miniconda
  • 旅游类网站策划建设_广告排版设计图片
  • Linux进程间通信三System V 共享内存完全指南原理系统调用与 C 封装实现
  • 云计算与大数据:数字化转型的双重引擎
  • 怎么弄免费的空间做网站铂爵旅拍婚纱摄影官网
  • 郑州中原区网站建设北京冬奥会网页设计
  • Java接口自动化测试之接口加密
  • 插值——Hermite 插值与分段三次 Hermite 插值
  • 外贸建站服务网站计划
  • tcp_Calculator(自定义协议,序列化,反序列化)