You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为二进制方式安装的Docker配置systemctl服务

SLES 15 x86_64 二进制安装Docker后开机自启与无根启动配置方案

一、配置系统级Docker开机自启(root权限运行)

二进制安装Docker默认不会自动生成systemd服务文件,手动创建即可:

  • 新建systemd服务配置文件 /etc/systemd/system/docker.service,内容如下:
[Unit]
Description=Docker Application Container Engine
After=network.target firewalld.service containerd.service
Wants=containerd.service

[Service]
Type=notify
# 请修改以下路径为你实际存放dockerd二进制的绝对路径
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
  • (可选)创建socket配置文件 /etc/systemd/system/docker.socket 提升调用性能:
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
  • 重载systemd配置并启动服务、开启开机自启:
systemctl daemon-reload
# 创建docker用户组(如果不存在)
getent group docker || groupadd docker
systemctl enable --now docker.service docker.socket
  • 验证服务运行状态:docker info
  • 如需普通用户可直接调用root运行的Docker服务,执行usermod -aG docker 目标用户名,重新登录后生效。

二、配置无根Docker(普通用户权限运行)

无根Docker不需要root权限即可运行,安全级别更高,配置步骤如下:

  • 先安装前置依赖包:
zypper install -y shadow uidmap
  • 确认普通用户的uid/gid映射配置存在,检查/etc/subuid、/etc/subgid文件中是否有对应用户的条目,格式如下(若不存在则手动添加):
你的用户名:100000:65536
  • 切换到目标普通用户,执行以下操作,不要使用root身份:
    1. 创建用户级systemd服务目录:mkdir -p ~/.config/systemd/user/
    2. 新建服务配置文件 ~/.config/systemd/user/docker.service,内容如下:
    [Unit]
    Description=Docker Application Container Engine (Rootless)
    
    [Service]
    Type=notify
    # 请修改以下rootlesskit、dockerd路径为你实际二进制存放的绝对路径
    ExecStart=/usr/bin/rootlesskit --net=slirp4netns --disable-host-loopback --copy-up=/etc --copy-up=/run /usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    Restart=always
    RestartSec=2
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    TasksMax=infinity
    Delegate=yes
    KillMode=process
    
    [Install]
    WantedBy=default.target
    
    1. 重载用户级systemd配置并启动服务、开启自启:
    systemctl --user daemon-reload
    systemctl --user enable --now docker.service
    
    1. 允许用户服务在登出后保持运行(切换回root身份执行):
    loginctl enable-linger 你的用户名
    
  • 验证无根Docker运行状态:普通用户执行docker info确认输出正常。

内容的提问来源于stack exchange,提问作者mamol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:27:03