您的位置 首页 linux 运维

非root用户安装 docker 28.3.3 (二进制方式) x86

非root用户安装 docker 28.3.3 (二进制方式)

 

------------------------------失败

因为没有system 前台启动的原因.

 

用户:

1 前置检查(在 u01 账户下执行)

# 确认内核支持 user namespace(openEuler 24.03 默认已开启)
cat /proc/sys/user/max_user_namespaces   # 应大于 0

# 确认架构
uname -m                                 # x86_64

# 确认 home 目录可写
echo $HOME                               # /home/u01

# 确认 PATH 不冲突
echo $PATH

如果 `max_user_namespaces` 为 0,需要 root 执行:

echo "user.max_user_namespaces=28633" >> /etc/sysctl.conf
sysctl -p

2 下载源码:

# Docker CE 静态二进制(包含 dockerd、containerd、runc 等所有组件)
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-28.3.3.tgz -o docker.tgz
# Rootless 模式所需的 extras(含 rootlesskit、slirp4netns、vpnkit 等)
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-rootless-extras-28.3.3.tgz -o rootless.tgz

版本号可在 https://download.docker.com/linux/static/stable/x86_64/ 查看最新。

然后解压:

tar -xzf docker.tgz
tar -xzf rootless.tgz

cp docker/* ~/bin/
cp docker-rootless-extras/* ~/bin/

正常应能看到 `docker/dockerd`、`docker-rootless-extras/dockerd-rootless.sh` 等条目。

3 配置环境变量

把以下内容追加到 `~/.bashrc`:

export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix://$HOME/run/docker.sock

 

执行 `source ~/.bashrc` 生效。

4 配置 dockerd 存储目录

`daemon.json` 放到 `~/.config/docker/daemon.json`:

mkdir -p ~/.config/docker
cat > ~/.config/docker/daemon.json <<'EOF'
{
  "data-root": "/home/u01/data/docker",
  "exec-root": "/home/u01/run/docker",
  "pidfile": "/home/u01/run/docker.pid",
  "storage-driver": "overlay2",
  "iptables": false,
  "bridge": "none"
}
EOF

注意:

openEuler 24.03 默认使用 nftables,`iptables: false` 让 docker 不要去操作 iptables。

`bridge: "none"` 在 rootless 模式下默认行为,避免与宿主机网络冲突。

 

5 启动 dockerd(前台方式验证)

 

------------------------------失败

 

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章