
docker-systemd是一个与systemd高度兼容的init系统,专为Docker容器设计。它通过安装辅助工具并模拟systemd行为,读取服务文件、执行已启用的启动服务,并支持systemctl和journalctl等常用管理工具,使Docker容器表现得更像完整的虚拟机。仅支持.service文件,不支持timer、socket等其他单元类型。
systemctl和journalctl命令支持,实现常用管理功能docker logs查看适用于需要在Docker容器中运行依赖systemd服务管理的应用场景,尤其适合以下情况:
预构建镜像已包含二进制入口点,支持多种Linux发行版:
bash# Ubuntu系列 docker run -itd robertglonek/ubuntu:24.04 docker run -itd robertglonek/ubuntu:22.04 docker run -itd robertglonek/ubuntu:20.04 # Debian系列 docker run -itd robertglonek/debian:12 docker run -itd robertglonek/debian:11 docker run -itd robertglonek/debian:10 docker run -itd robertglonek/debian:9 # Rocky Linux系列 docker run -itd robertglonek/rockylinux:9 docker run -itd robertglonek/rockylinux:8 # CentOS系列 docker run -itd robertglonek/centos:stream9
二进制文件会将自身符号链接到$PATH中第一个可能的本地目录,命名为journalctl,systemctl,service,poweroff,shutdown,systemd,init。使用相关名称运行将触发相应行为。
容器启动时可提供以下命令行开关修改行为:
| 参数 | 描述 |
|---|---|
--log-to-stderr | 将所有服务日志发送到stderr,支持通过docker logs查看 |
--no-logfile | 禁用日志文件记录(默认日志路径:/var/log/services/{SERVICENAME}.log),此参数会导致journalctl无法工作 |
--no-pidtrack | 禁用libc函数调用包装(适用于仅运行非forking服务的场景) |
| 命令 | 描述 |
|---|---|
journalctl | 提供常用日志查看功能,从/var/log/services/读取日志文件 |
systemctl | 支持daemon-reload, start, stop, restart, status, enable, disable等常用命令,输出格式可能与原版不同 |
poweroff/shutdown | 执行容器内的干净受控关闭 |
service | 兼容老式service命令,映射到systemctl相应操作 |
systemd/init | 作为容器入口点,启动整个init系统 |
bash# systemctl -h Usage: init [OPTIONS] <command> Available commands: create-instance create a new instance (for multi-instance services) daemon-reload reload unit files delete-instance delete an instance (for multi-instance services) disable disable services enable enable services list list services mask mask a service poweroff shutdown the system reload reload a service (send SIGHUP) restart restart a service show show details of a service start start a service status status of a service stop stop a service unmask unmask a service
bash# journalctl -h Usage: journalctl Application Options: -S, --since= format: 2012-10-30 18:17:16 -U, --until= format: 2012-10-30 18:17:16 -b, --boot since reboot -u, --unit= unit name -n, --lines= show max X last lines -f, --follow follow log; implies lines --no-pager do not page results; implied with follow -h, --help display help
支持的定义
以下是单元文件中支持的定义,尽可能与原始systemd实现兼容:
goDescription string // 依赖关系 Wants map[string]*daemon WantedBy map[string]*daemon Requires map[string]*daemon RequiredBy map[string]*daemon Requisite map[string]*daemon RequisiteOf map[string]*daemon BindsTo map[string]*daemon BoundBy map[string]*daemon PartOf map[string]*daemon ConsistsOf map[string]*daemon Upholds map[string]*daemon UpheldBy map[string]*daemon Conflicts map[string]*daemon ConflictedBy map[string]*daemon OnFailure map[string]*daemon OnSuccess map[string]*daemon // 行为 StopWhenUnneeded bool FailureAction string SuccessAction string // 服务部分 ServiceType string // 注:仅支持simple/oneshot/forking类型,dbus视为forking RemainAfterExit bool PidFile string ExecStart []string ExecStop []string ExecStartPre []string ExecStartPost []string ExecStopPre []string ExecStopPost []string ExecCondition []string ExecReload string RestartSleep time.Duration StopTimeout time.Duration Restart string // 注:支持always/on-failure/on-success,其他类型自动映射 WorkingDirectory string User string Group string Env []string EnvFile []string
计划实现
以下功能尚未实现,服务启动顺序仅由依赖关系控制:
golangBefore map[string]*daemon After map[string]*daemon
特殊说明
以下定义会在启动时在docker logs中产生警告并被忽略(因Docker权限限制),建议使用Docker的限制设置命令行替代:
golang// 资源限制 LimitCpu string LimitFsize string LimitData string LimitStack string LimitCore string LimitRss string LimitNoFile string LimitAs string LimitNProc string LimitMemLock string LimitLocks string LimitSigPending string LimitMsgQueue string LimitNice string LimitRtPrio string LimitRtTime string
以下是 robertglonek/rockylinux 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务