*** CentOS systemd Docker 容器是基于 CentOS 系统的基础容器,专为构建和运行基于 systemd 的服务而设计。作为支持 systemd 的基础镜像,其主要用途是为需要通过 systemd 管理服务的应用提供运行环境,可作为构建自定义服务容器的底层基础。
适用于需要通过 systemd 进行服务生命周期管理的应用场景,例如:
以下以构建基于该镜像的 httpd 服务容器为例,说明具体使用步骤。
基于该镜像扩展,安装目标服务并启用 systemd 管理。
dockerfile# 基于*** CentOS systemd 镜像构建 FROM centos/systemd # 维护者信息(可选) MAINTAINER "Your Name" <***> # 安装 httpd 服务,并启用 httpd.service(通过 systemd 管理) RUN yum -y install httpd; \ yum clean all; \ # 清理 yum 缓存,减小镜像体积 systemctl enable httpd.service # 启用 httpd 服务,确保 systemd 启动时自动运行 # 暴露服务端口(httpd 默认端口 80) EXPOSE 80 # 启动 systemd(容器入口命令,需通过 /usr/sbin/init 启动 systemd) CMD ["/usr/sbin/init"]
说明:
systemctl enable httpd.service:配置 httpd 服务在 systemd 启动时自动运行。CMD ["/usr/sbin/init"]:启动 systemd(容器内必须通过 init 进程启动 systemd,而非直接运行 systemd 命令)。使用 docker build 命令构建自定义服务镜像(以 httpd 为例):
bashdocker build --rm --no-cache -t httpd .
参数说明:
--rm:构建完成后删除中间容器。--no-cache:不使用缓存,确保依赖包为最新版本。-t httpd:指定镜像标签为 httpd。通过 docker run 启动容器,需配置 systemd 运行依赖的环境(如 cgroup 挂载):
bashdocker run --privileged --name httpd -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 -d httpd
参数说明:
--privileged:授予容器特权模式(systemd 运行依赖,需访问系统资源)。--name httpd:指定容器名称为 httpd。-v /sys/fs/cgroup:/sys/fs/cgroup:ro:挂载主机的 cgroup 文件系统(只读),systemd 依赖 cgroup 进行资源管理。-p 80:80:端口映射,将容器内 80 端口映射到主机 80 端口,外部可通过主机 IP:80 访问服务。-d:后台运行容器。直接使用上述构建的 httpd 镜像启动容器:
bashdocker run --privileged --name httpd -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 -d httpd
若需基于该镜像部署多服务协同的应用,可通过 docker-compose 管理(以下为示例模板):
yamlversion: '3' services: web: build: . # 基于当前目录 Dockerfile 构建(如上述 httpd 示例) privileged: true volumes: - /sys/fs/cgroup:/sys/fs/cgroup:ro ports: - "80:80" restart: unless-stopped # 服务异常退出时自动重启
使用方法:
docker-compose.yml;docker-compose up -d 启动服务;docker-compose logs 查看服务日志。--privileged 模式运行,否则 systemd 可能无法正常访问系统资源。/sys/fs/cgroup 目录(只读模式),systemd 依赖 cgroup 进行进程和资源管理。systemctl enable <service> 确保服务在容器启动时自动运行,避免手动启动。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429