ghcr.io/mlocati/php-extension-installer:2.9.14
在官方 PHP Docker 镜像中轻松安装 PHP 扩展
本仓库包含一个脚本,可用于在https://hub.docker.com/_/php/%E4%B8%AD%E8%BD%BB%E6%9D%BE%E5%AE%89%E8%A3%85 PHP 扩展。
该脚本会安装所有必要的 APT/APK 包;脚本执行结束时,将移除不再需要的包,从而显著减小镜像体积。
支持的 Docker 镜像包括:
- 基于 Debian 的 Docker 镜像:从 jessie(Debian 8)开始(最低 PHP 版本:5.5)
- 基于 Alpine 的 Docker 镜像:从 Alpine 3.9 开始(最低 PHP 版本:7.1)
另请参见特殊要求部分中的说明。
使用方法
在 Dockerfile 中使用此脚本有多种方式。
以下是安装 GD 和 xdebug PHP 扩展的 Dockerfile 示例列表:
使用 ADD 动态下载脚本
FROM php:7.2-cli
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
使用 curl 动态下载脚本
FROM php:7.2-cli
RUN curl -sSLf \
-o /usr/local/bin/install-php-extensions \
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && \
chmod +x /usr/local/bin/install-php-extensions && \
install-php-extensions gd xdebug
使用 curl 直接执行
FROM php:8.2-cli
RUN ( curl -sSLf https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions -o - || echo 'return 1' ) | sh -s \
gd xdebug
从 Docker 镜像复制脚本
- 使用 GitHub Container Registry
FROM php:8.4-cli
COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
- 使用 Docker Hub
FROM php:8.4-cli
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
[!WARNING] 使用此方法可能会使用过时版本的 Docker 镜像。建议运行
docker pull ghcr.io/mlocati/php-extension-installer或docker pull mlocati/php-extension-installer以使用最新版本。
使用 Docker 镜像中的脚本
- 使用 GitHub Container Registry
RUN --mount=type=bind,from=ghcr.io/mlocati/php-extension-installer:latest,source=/usr/bin/install-php-extensions,target=/usr/local/bin/install-php-extensions \
install-php-extensions gd xdebug
- 使用 Docker Hub
RUN --mount=type=bind,from=mlocati/php-extension-installer:latest,source=/usr/bin/install-php-extensions,target=/usr/local/bin/install-php-extensions \
install-php-extensions gd xdebug
[!WARNING] 使用此方法可能会使用过时版本的 Docker 镜像。建议运行
docker pull ghcr.io/mlocati/php-extension-installer或docker pull mlocati/php-extension-installer以使用最新版本。
安装特定版本的扩展
只需在模块名称后添加-。例如:
install-php-extensions xdebug-2.9.7
脚本还支持通过在版本前添加插入符号(^)来解析兼容版本。例如:
# 安装最新的 xdebug 2.x 版本(如 2.9.8)
install-php-extensions xdebug-^2
# 安装最新的 xdebug 2.8.x 版本(如 2.8.1)
install-php-extensions xdebug-^2.8
请注意,使用上述语法将获取最新的兼容版本,该版本可能不稳定。若要安装最新的稳定版本,可添加后缀@stable:
# 安装最新的稳定版 xdebug 3.x 版本(如 3.2.2)
install-php-extensions xdebug-^3@stable
(有效的后缀包括:@snapshot、@devel、@alpha、@beta 和 @stable)
PECL 上可用的预发布版本扩展可通过在扩展名称后添加其状态(即alpha、beta、rc、preview、devel 或 snapshot)来安装。例如:
install-php-extensions xdebug-beta
提示:当 PECL 上的最新版本不稳定,而你希望保留最新稳定版本时,可通过在扩展名称后添加stable状态来强制安装。例如:
install-php-extensions mongodb-stable
从源代码安装扩展
你也可以从源代码安装 PHP 扩展(前提是源代码包含package.xml或package2.xml文件)。
支持的格式如下:
- GitHub 托管仓库的简短格式。例如,对于 https://github.com/php-memcached-dev/php-memcached GitHub 仓库,可简写成:
# 从特定提交安装(完整提交 SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb005ca6100b12ccc89000daafa9d8
# 从特定提交安装(简短提交 SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb
# 从标签 v3.2.0RC2 安装
install-php-extensions php-memcached-dev/php-memcached@v3.2.0RC2
install-php-extensions php-memcached-dev/php-memcached@refs/tags/v3.2.0RC2
# 从分支 master 安装
install-php-extensions php-memcached-dev/php-memcached@master
install-php-extensions php-memcached-dev/php-memcached@refs/heads/master
- 提供源代码归档的 URL。例如:
# 提交 8f106564e6bb005ca6100b12ccc89000daafa9d8 的 tgz 归档
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/8f106564e6bb005ca6100b12ccc89000daafa9d8
# 标签 v3.1.5 的 tgz 归档
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
# 分支 master 的 tgz 归档
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/heads/master
- 本地目录的绝对路径。例如:
# 下载源代码
curl -o /tmp/source.tgz https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
tar xzf /tmp/source.tgz -C /tmp
install-php-extensions /tmp/php-memcached-3.1.5
是否为内置扩展?
有些扩展内置在 PHP 源代码中(例如 gd 和 zip)。
其中部分扩展也可在 PECL 和/或源代码仓库中获取。
默认情况下,install-php-extensions 安装内置版本。
若要使用远程版本:
- 对于 PECL:只需在包名后添加稳定性标识。例如:
install-php-extensions zip-stable
- 对于源代码安装:使用上文指定的语法。例如:
install-php-extensions php/pecl-database-oci8@7aa1061
安装 composer
您还可以安装 composer,并且可以指定其主版本或完整版本。
示例:
# 安装最新版本
install-php-extensions @composer
# 安装最新的 1.x 版本
install-php-extensions @composer-1
# 安装特定版本
install-php-extensions @composer-2.0.2
| 扩展 | PHP 8.5 | PHP 8.4 | PHP 8.3 | PHP 8.2 | PHP 8.1 | PHP 8.0 | PHP 7.4 | PHP 7.3 | PHP 7.2 | PHP 7.1 | PHP 7.0 | PHP 5.6 | PHP 5.5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| amqp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| apcu | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| apcu_bc | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
| ast | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| bcmath | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| bitset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| blackfire | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| brotli | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| bz2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| calendar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| cassandra* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| cmark | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
| csv | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| dba | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ddtrace* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| decimal | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| ds | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| ecma_intl* | ✓ | ✓ | |||||||||||
| enchant | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ev | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| event | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| excimer | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| exif | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ffi | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| ftp | ✓ | ✓ | ✓ | ✓ | |||||||||
| gd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| gearman | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| geoip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| geos* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| geospatial | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| gettext | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| gmagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| gmp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| gnupg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| grpc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| http | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| igbinary | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| imagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| imap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| inotify | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| interbase | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
| intl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ion | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
| ioncube_loader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ip2location | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
| jsmin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| json_post | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| jsonpath | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| judy* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
| ldap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| luasandbox | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| lz4* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| lzf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
配置
您可以通过环境变量配置脚本行为,并微调某些扩展以满足需求。
以下是示例:
IPE_LZF_BETTERCOMPRESSION=1 install-php-extensions lzf
以下是所有支持的环境变量列表:
| 扩展 | 环境变量 | 描述 |
|---|---|---|
IPE_DEBUG=1 | 设置此环境变量后,脚本将打印其执行的所有命令(输出会非常详细,仅用于调试目的) | |
IPE_INSECURE=1 | 设置此环境变量后,程序执行网络操作时将禁用HTTPS证书验证 | |
IPE_SAVE_PERMDEPS_TO=path IPE_SAVE_VOLDEPS_TO=path | 设置此环境变量后,脚本会将已安装PHP扩展所需的APT/APK包列表(IPE_SAVE_PERMDEPS_TO)和/或构建PHP扩展所需的包列表(IPE_SAVE_VOLDEPS_TO)存储到指定路径。请注意,install-php-extension可能会以其他方式配置系统(https://github.com/mlocati/docker-php-extension-installer/blob/2.9.28/install-php-extensions#L2234-L2286%EF%BC%89 | |
IPE_PROCESSOR_COUNT | 默认使用所有可用处理器。设置此环境变量可覆盖脚本检测到的处理器数量(用于并行编译) | |
IPE_DONT_ENABLE=1 | 默认情况下,脚本会安装并启用扩展。如果您只想安装扩展(不启用),可设置此环境变量。后续启用扩展可执行命令 docker-php-ext-enable-(例如:docker-php-ext-enable-xdebug)。注意:安装某些PHP扩展需要其他PHP扩展已启用,因此请谨慎使用此功能。 | |
IPE_SKIP_CHECK=1 | 默认情况下,脚本会检查扩展是否可启用;若要跳过此检查,可使用此标志。注意:扩展可能会在导致PHP崩溃的情况下仍被启用,请谨慎使用此功能。 | |
IPE_NOSTRIP=1 | 设置此环境变量后,已编译的PHP扩展将保留调试符号(对调试段错误等崩溃问题有用) | |
IPE_KEEP_SYSPKG_CACHE=1 | 默认情况下,脚本会清除apt/apk/pear缓存以节省磁盘空间。设置此环境变量可禁用缓存清除 | |
| lzf | IPE_LZF_BETTERCOMPRESSION=1 | 默认情况下,install-php-extensions编译lzf扩展时优先考虑速度而非压缩率;使用此环境变量可改为优先考虑压缩率而非速度 |
| event | IPE_EVENT_NAMESPACE=... | 默认情况下,event类定义在根命名空间中。您可使用此环境变量指定自定义命名空间 |
| gd | IPE_GD_WITHOUTAVIF=1 | 从PHP 8.1开始,gd支持AVIF格式。在Debian 11及以下版本和Alpine 3.14及以下版本中,启用AVIF需要编译libaom/libdav1d/libyuv/libavif,这非常耗时。在这些操作系统版本上,您可设置此环境变量禁用AVIF支持 |
| oci8 & pdo_oci | IPE_INSTANTCLIENT_BASIC=1 | oci8和pdo_oci PHP扩展需要Oracle Instant Client。为节省磁盘空间,我们默认安装Basic Lite版本;若要安装Basic(非精简)版本,只需设置此环境变量 |
| http, intl, mongodb | IPE_ICU_EN_ONLY=1 | 某些扩展需要ICU库,在Alpine 3.16及更高版本上,使用此标志可安装更小的仅支持英文的ICU库 |
| pspell | IPE_ASPELL_LANGUAGES='...' | 配置可用语言(例如:IPE_ASPELL_LANGUAGES='en fr')。若未指定,默认使用en |
IPE_DEB_ARCHIVE & IPE_DEB_ARCHIVE_SECURITY | 非常旧的Debian版本(如Jessie)的APT包可能已归档:您可使用这些环境变量指定这些APT归档的自定义URL | |
| newrelic | IPE_NEWRELIC_DAEMON=1 | 安装NewRelic守护进程 |
| newrelic | IPE_NEWRELIC_KEEPLOG=1 | 保留NewRelic安装的日志文件(/tmp/nrinstall-….tar) |
| newrelic | NR_INSTALL_KEY | 您的New Relic许可证密钥 |
| swoole | IPE_SWOOLE_WITHOUT_IOURING=1 | 安全专家认为io_uring内核功能不安全(参见此处和此处)。默认情况下,Swoole 6及更高版本配置了io_uring支持,使用此环境变量可跳过io_uring配置 |
| saxon | IPE_SAXON_EDITION=EE | 要使用的Saxon版本:EE表示企业版(默认),PE表示专业版,HE表示家庭版 |
测试
提交拉取请求时,会执行一个https://github.com/mlocati/docker-php-extension-installer/blob/master/.github/workflows/test-extensions.yml%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%8F%97%E5%BD%B1%E5%93%8D%E7%9A%84PHP%E6%89%A9%E5%B1%95%E6%98%AF%E5%90%A6%E5%AE%9E%E9%99%85%E5%8F%AF%E7%94%A8%EF%BC%88%E8%A7%81%E4%B8%8B%E6%96%87%EF%BC%89%E3%80%82
此外,我们还会检查PECL仓库中扩展的新版本是否仍然可用。这通过另一个https://github.com/mlocati/docker-php-extension-installer/blob/master/.github/workflows/test-recent-extensions.yml%E6%8C%89%E8%AE%A1%E5%88%92%E6%89%A7%E8%A1%8C%E3%80%82%E5%A6%82%E6%9E%9C%E5%A4%B1%E8%B4%A5%EF%BC%8C%E4%BC%9A%E5%90%91***%E9%A2%91%E9%81%93%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF%E3%80%82%E6%AC%A2%E8%BF%8E%E8%AE%A2%E9%98%85%E8%AF%A5%E9%A2%91%E9%81%93%E4%BB%A5%E6%8E%A5%E6%94%B6%E5%A4%B1%E8%B4%A5%E9%80%9A%E7%9F%A5%E3%80%82
如何贡献
代码格式化
提交任何拉取请求之前,您应执行 scripts 目录中的 lint 脚本(Windows 上为 lint.bat)。
如果不这样做,且存在编码风格错误,您会看到 Check shell coding style 和/或 Check PHP coding style GitHub Action 失败。错误信息大致如下:
--- filename.orig
+++ filename
@@ -line number,7 +line number,7 @@
good line of code #1
good line of code #2
good line of code #3
- the original line with a wrong coding style
+ the line wrong coding style that has been corrected
good line of code #4
good line of code #5
good line of code #6
因此,您需要修复高亮行(line number 处的行),将 - 后面的内容替换为 + 后面的内容。
添加对新PHP扩展的支持?
- 修改
install-php-extensions脚本 - 更新
data/supported-extensions文件,添加一行新内容,包含扩展的句柄和支持的 PHP 版本列表 - 如果扩展需要 ZTS 镜像:在
data/special-requirements文件中添加一行,格式为扩展句柄后接空格和zts
示例请参见https://github.com/mlocati/docker-php-extension-installer/pull/60%E3%80%82
为已支持的PHP扩展更改支持的PHP版本?
- 修改
install-php-extensions脚本 - 更新
data/supported-extensions文件,将新的 PHP 版本添加到对应扩展的现有行中
示例请参见https://github.com/mlocati/docker-php-extension-installer/pull/62%E3%80%82
改进已支持扩展的代码?
如果您修改的代码影响一个或多个扩展,请在拉取请求的某个提交消息中添加一行 Test: extension1, extension2。这样,即使您没有修改 data/supported-extensions 文件,测试作业也会检查这些扩展。
提交消息示例如下:
Improve the GD and ZIP extensions
Test: gd, zip
测试一次仅检查单个 PHP 扩展的安装。如果您想同时测试安装多个 PHP 扩展,请使用如下提交消息:
Improve the GD and ZIP extensions
Test: gd+zip
如果您的拉取请求包含多个提交,我们会检查每个提交的“Test:”消息。如果您想停止解析后续提交,请在“Test:”行中添加 -STOP-,例如:
Improve the GD and ZIP extensions
Test: gd, zip, -STOP-
示例请参见https://github.com/mlocati/docker-php-extension-installer/pull/43%E3%80%82
PHP要求和配置选项
关于PHP要求和配置选项的详细信息,请参考相关文档或源码注释。
发布在PECL档案库中的PHP扩展包含一个package.xml(或package2.xml)文件,该文件描述了支持的PHP版本以及可用于编译它的选项。当我们添加对新PHP扩展的支持,以及当PHP扩展的新版本发布时,我们必须检查这些约束条件。
这是一项相当繁琐的任务,因此我开发了一个可让您轻松检查这些约束条件的项目:您可以在 https://mlocati.github.io/pecl-info 找到它(您可以在https://github.com/mlocati/pecl-info%E6%89%BE%E5%88%B0%E5%85%B6%E6%BA%90%E4%BB%A3%E7%A0%81%EF%BC%89%E3%80%82
面向维护者
请参见 https://github.com/mlocati/docker-php-extension-installer/blob/master/MAINTAINERS.md 文件。
您真的想表达感谢吗?
您可以请我喝一杯https://github.com/***/mlocati%E6%88%96%E4%B8%80%E6%AC%A1%E6%80%A7%E5%92%96%E5%95%A1 :wink:
轩辕镜像配置手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
Docker 配置
登录仓库拉取
通过 Docker 登录认证访问私有仓库
专属域名拉取
无需登录使用专属域名
K8s Containerd
Kubernetes 集群配置 Containerd
K3s
K3s 轻量级 Kubernetes 镜像加速
Dev Containers
VS Code Dev Containers 配置
Podman
Podman 容器引擎配置
Singularity/Apptainer
HPC 科学计算容器配置
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
Harbor 镜像源配置
Harbor Proxy Repository 对接专属域名
Portainer 镜像源配置
Portainer Registries 加速拉取
Nexus 镜像源配置
Nexus3 Docker Proxy 内网缓存
系统配置
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
镜像拉取常见问题
使用与功能问题
配置了专属域名后,docker search 为什么会报错?
docker search 限制
Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?
站内搜不到镜像
机器不能直连外网时,怎么用 docker save / load 迁镜像?
离线 save/load
docker pull 拉插件报错(plugin v1+json)怎么办?
插件要用 plugin install
WSL 里 Docker 拉镜像特别慢,怎么排查和优化?
WSL 拉取慢
轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?
安全与 digest
第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?
新手拉取配置
轩辕镜像合规吗?轩辕镜像的合规是怎么做的?
镜像合规机制
轩辕镜像支持 docker push 上传本地镜像吗?
不支持 push
错误码与失败问题
docker pull 提示 manifest unknown 怎么办?
manifest unknown
docker pull 提示 no matching manifest 怎么办?
no matching manifest(架构)
镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?
invalid tar header(解压)
Docker pull 时 HTTPS / TLS 证书验证失败怎么办?
TLS 证书失败
Docker pull 时 DNS 解析超时或连不上仓库怎么办?
DNS 超时
docker 无法连接轩辕镜像域名怎么办?
域名连通性排查
Docker 拉取出现 410 Gone 怎么办?
410 Gone 排查
出现 402 或「流量用尽」提示怎么办?
402 与流量用尽
Docker 拉取提示 UNAUTHORIZED(401)怎么办?
401 认证失败
遇到 429 Too Many Requests(请求太频繁)怎么办?
429 限流
docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?
D-Bus 凭证提示
为什么会出现「单层超过 20GB」或 413,无法加速拉取?
413 与超大单层
账号 / 计费 / 权限
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务