SUSE12SP5兼容docker系统参数优化

若你也遇到了SUSE系统下通过docker/container运行容器发现日志抛出:Error response from daemon: failed to create task for container: failed to start shim: start failed: io.containerd.runc.v2: fork/exec /usr/bin/containerd-shim-runc-v2: resource temporarily unavailable: exit status 1: unknown

可以参考下面的性能优化配置:

系统优化

1
2
3
4
5
6
7
8
9
10
11
12
sysctl -w kernel.pid_max=131072
echo 'kernel.pid_max=131072' >> /etc/sysctl.conf
ulimit -Sn 256530
ulimit -n 256530
echo '* hard nproc 256530' >> /etc/security/limits.conf
echo '* soft nproc 256530' >> /etc/security/limits.conf
echo '* soft nofile 102400' >> /etc/security/limits.conf
echo '* hard nofile 102400' >> /etc/security/limits.conf
sed -i '/^\[Manager\]/a DefaultTasksMax=infinity\nDefaultLimitNOFILE=102400\nDefaultLimitNPROC=infinity\nDefaultLimitMEMLOCK=infinity' /etc/systemd/system.conf
echo 4194303 | tee /proc/sys/kernel/pid_max
echo 1029194 | tee /proc/sys/kernel/threads-max
echo 'max' > /sys/fs/cgroup/pids/system.slice/docker.service/pids.max

docker配置

针对/etc/docker/daemon.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 128000,
"Soft": 128000
},
"nproc": {
"Name": "nproc",
"Hard": -1,
"Soft": -1
}
},
"exec-opts": [
"native.cgroupdriver=systemd"
]
}

apparmor

针对apparmor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
systemctl stop apparmor
systemctl disable apparmor

tee /etc/apparmor.d/docker-default <<'EOF'
#include <tunables/global>

profile docker-default flags=(complain) {
file,
network,
capability,
/usr/bin/docker mr,
/usr/lib/docker/** mr,
/usr/bin/containerd* mr,
/usr/bin/runc* mr,
/data/docker/tmp/** rw,
deny /** wklx,
}
EOF

apparmor_parser -r /etc/apparmor.d/docker-default
aa-complain docker-default

注意事项

⚠:如果你还使用了service管理进程,还需要参考system.conf的配置项,添加到单元文件的[Service]中;

/usr/lib/systemd/system/docker.service也需要修改

1
2
3
4
5
6
...
TasksMax=infinity
LimitNPROC=infinity
LimitNOFILE=infinity
LimitMEMLOCK=infinity
...

SUSE12SP5兼容docker系统参数优化
https://www.fishingrodd.cn/2025/11/17/SUSE12SP5兼容docker系统参数优化/
作者
FishingRod
发布于
2025年11月17日
更新于
2025年11月17日
许可协议