redhat/ubi10-initRed Hat Universal Base Image 10 Init(简称UBI 10 Init)是由Red Hat开发的通用基础镜像,专为在容器环境中作为PID 1进程运行init系统而设计。其核心用途是支持在单个容器内管理和运行多个服务,通过init系统实现进程生命周期管理(启动、停止、重启)。
该镜像可自由再分发,由Red Hat官方团队维护并定期更新,确保安全性和稳定性。需注意,Red Hat仅通过Red Hat产品订阅为基于此镜像的Red Hat技术提供支持。
拉取镜像:从Red Hat容器镜像仓库或兼容源拉取镜像:
bashdocker pull registry.access.redhat.com/ubi10/ubi-init:latest
构建自定义镜像:通过Dockerfile基于UBI 10 Init添加服务配置,示例如下:
dockerfileFROM registry.access.redhat.com/ubi10/ubi-init:latest # 安装所需服务(以nginx为例) RUN dnf install -y nginx && dnf clean all # 添加服务配置文件(如systemd服务单元) COPY nginx.service /etc/systemd/system/ # 启用服务自启动 RUN systemctl enable nginx EXPOSE 80
配置init系统:根据使用的init系统(如systemd)定义服务单元文件(.service),指定启动命令、依赖关系和重启策略,示例nginx.service:
ini[Unit] Description=Nginx Service After=network.target [Service] Type=forking ExecStart=/usr/sbin/nginx ExecStop=/usr/sbin/nginx -s stop Restart=on-failure [Install] WantedBy=multi-user.target
启动UBI 10 Init镜像并验证init系统运行:
bashdocker run -d --name ubi10-init-demo registry.access.redhat.com/ubi10/ubi-init:latest # 进入容器验证PID 1进程 docker exec -it ubi10-init-demo ps -ef | grep PID
通过Docker Compose部署基于UBI 10 Init的多服务容器(包含应用服务与日志服务):
docker-compose.yml
yamlversion: '3' services: multi-service-app: build: . # 基于上述Dockerfile构建的自定义镜像 ports: - "80:80" volumes: - ./logs:/var/log/app restart: unless-stopped
构建并启动
bashdocker-compose up -d
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务