本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

一个轻量级多架构Alpine Linux Docker镜像,在***Alpine基础上仅增加约50KB,集成了tini init系统、模块化入口点和su-exec权限降低功能,支持多种硬件架构,适合作为构建其他容器的基础镜像。
该镜像基于Alpine Linux,专注于轻量级和安全性,主要特点包括:
以下环境变量可控制入口点行为,可通过ENV指令在Dockerfile中设置或通过docker run -e参数传递:
DOCKER_UID:默认"***",普通用户UIDDOCKER_GID:默认"23456",普通用户组GIDDOCKER_USER:默认"user",普通用户名DOCKER_GROUP:默认"user",普通用户组名ENTRYPOINT_D:默认"/etc/docker-entrypoint.d",配置脚本目录ENTRYPOINT_RUN_AS_ROOT:默认"",非空时禁用权限降低ENTRYPOINT_SKIP_CONFIG:默认"",非空时禁用配置脚本执行ENTRYPOINT_LOG_THRESHOLD:默认1,日志级别阈值(1=调试,2=信息,3=警告,4=错误,≥5=禁用)可在ENTRYPOINT_D目录中放置额外配置脚本,入口点会在执行CMD前运行所有带可执行权限的.sh脚本。添加方式:
COPY指令复制脚本到${ENTRYPOINT_D}-v参数挂载脚本到${ENTRYPOINT_D}FROM padhihomelab/alpine-base # 修改环境变量默认值(如有需要) ENV ENTRYPOINT_LOG_THRESHOLD 3 # 添加配置脚本(如有需要) COPY config_scripts/*.sh ${ENTRYPOINT_D}/ RUN chmod +x ${ENTRYPOINT_D}/*.sh # ... 其他自定义配置 ...
注意:请勿修改镜像的ENTRYPOINT指令
通常建议运行时设置DOCKER_UID以匹配宿主机用户UID,避免权限问题:
$ docker run -e DOCKER_UID=`id -u` -i padhihomelab/alpine-base ps aux 2020-11-22 11:27:43 docker-entrypoint (INFO) 创建用户组 'user',GID=23456... 2020-11-22 11:27:43 docker-entrypoint (DBUG) + 用户组创建成功。 2020-11-22 11:27:43 docker-entrypoint (INFO) 创建用户 'user',UID=1000,隶属组 'user'... 2020-11-22 11:27:43 docker-entrypoint (DBUG) + 用户创建成功。 2020-11-22 11:27:43 docker-entrypoint (INFO) /etc/docker-entrypoint.d 中未找到文件,跳过配置。 2020-11-22 11:27:43 docker-entrypoint (INFO) 准备启动! PID USER TIME COMMAND 1 root 0:00 tini /usr/local/bin/docker-entrypoint ps aux 6 user 0:00 ps aux
是的,当容器需要写入宿主机文件系统时建议覆盖。若仅进行只读操作或不使用宿主机卷,则无需设置。
$DOCKER_UID,若与宿主机用户UID不一致,宿主机处理文件会有困难更多细节可参考@vsupalov的博客文章:Avoiding Permission Issues With Docker-Created Files。
tini是一个极轻量级的init系统。详情可参考@Yelp的文章:"Why you need an init system"。
主要原因是tini支持Zombie processes的subreaping,而dumb-init不支持。具体原因可参考Hongli Lai的博客文章:"Docker and the PID 1 zombie reaping problem"。
更多细节:
su-exec用于在运行命令前将权限从root降低到$DOCKER_USER。除确实需要root权限运行的场景外,建议使用以提升安全性。
相关安全讨论:
主要原因是su-exec比gosu体积更小,且没有su和sudo的特性缺陷。更多细节:
s6功能强大,包含tini和su-exec的功能及更多工具,但对于大多数轻量级使用场景(如小型单板计算机)而言过于重量级,本镜像追求最小体积和资源占用。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429