openEuler 22.03 LTS Rootless Docker 安装指南

openEuler 22.03 LTS Rootless Docker 安装指南

1.创建普通用户(用于无根模式)

bash 复制代码
sudo useradd -m docker-user
sudo passwd docker-user  # 设置密码
sudo usermod --add-subuids 100000-165535 docker-user
sudo usermod --add-subgids 100000-165535 docker-user

2. 切换到普通用户,直接安装 Rootless Docker

ini 复制代码
# 切换到新用户
sudo -u docker-user -i
# 下载安装脚本(如果失败,多执行几次)
curl -fsSL https://get.docker.com/rootless -o get-docker.sh
# 安装(跳过rootful Docker检查)
sh get-docker.sh --skip-install-rootless
# 安装 Rootless Docker(可不需要,但是可以查看下面的环境变量)
dockerd-rootless-setuptool.sh install
# 设置环境变量
echo 'export XDG_RUNTIME_DIR=/home/yujiaqi/.docker/run' >> ~/.bashrc
echo 'export PATH=/home/yujiaqi/bin:$PATH' >> ~/.bashrc
echo 'export DOCKER_HOST=unix:///home/yujiaqi/.docker/run/docker.sock' >> ~/.bashrc
source ~/.bashrc

3. 配置镜像源

bash 复制代码
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"
  ],
  # 修改存储位置(如需要),默认是~/.local/share/docker
  "data-root": "/var/lib/docker-rootless"
}
EOF

4. 手动启动 Docker 守护进程

bash 复制代码
# 启动守护进程(后台运行)
nohup dockerd-rootless.sh > ~/docker.log 2>&1 &
# 检查是否运行
ps aux | grep dockerd

5. 验证 Docker 连接

bash 复制代码
# 等待 5-10 秒让守护进程启动
sleep 10
# 测试 Docker 命令
docker ps
docker run --rm hello-world

6. 迁移现有镜像(可选)

如果是后续才更改的存储位置,可以使用下面方法迁移镜像

bash 复制代码
# 创建用户目录
sudo mkdir -p /var/lib/docker-rootless/zengshun
# 设置所有权和权限(关键步骤)
sudo chown zengshun:zengshun /var/lib/docker-rootless/zengshun
sudo chmod 700 /var/lib/docker-rootless/zengshun  # 仅用户自己可访问
# 1. 停止 Docker
pkill -f dockerd-rootless
# 2. 迁移数据(保留权限)
rsync -av ~/.local/share/docker/ /var/lib/docker-rootless/zengshun/
# 3. 删除旧数据(确认迁移成功后)
rm -rf ~/.local/share/docker
相关推荐
遇见火星1 天前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
云原生指北1 天前
Apple Container Machine:把 Linux 搬进 Mac
macos·docker
隐层漫游者1 天前
2026全网最细Docker容器化实战!从安装配置到Milvus向量数据库部署,一文掌握核心精髓(建议收藏)
docker
加加and减减1 天前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
半夜燃烧的香烟1 天前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
qiuziqiqi1 天前
ocker-compose.yml 和Dockerfile 区别
运维·docker·容器
“码”力全开1 天前
【架构深探】基于Docker与GB28181/RTSP的边缘计算AI视频管理平台:异构算力调度与源码交付实践
人工智能·docker·架构
qq7590353661 天前
2026 docker run启动的容器通过命令导出为docker-composer.yml文件
docker·eureka·composer
极客先躯2 天前
高级java每日一道面试题-2026年02月03日-实战篇[Docker]-如何备份和恢复 Docker Volume?
运维·docker·容器·自动化·备份·持久化·恢复
“码”力全开2 天前
基于 Docker 与边缘计算的 AI 视频管理平台:打破 GB28181/RTSP 协议壁垒与源码交付架构解析
人工智能·docker·边缘计算