
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注意: 这是https://hub.docker.com/_/drupal的`mips64le`架构构建的“每架构”仓库——更多信息,请参见官方镜像文档中的“https://github.com/docker-library/official-images#architectures-other-than-amd64”和官方镜像FAQ中的“https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what”。
维护者:
https://github.com/docker-library/drupal(*非*Drupal社区或Drupal安全团队)
获取帮助:
https://dockr.ly/comm-slack、Server Fault、https://unix.stackexchange.com/help/on-topic或https://stackoverflow.com/help/on-topic
Dockerfile链接警告: 此镜像在mips64le架构上不受支持
提交issue的位置:
https://github.com/docker-library/drupal/issues?q=
支持的架构: (https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/drupal/、https://hub.docker.com/r/arm32v6/drupal/、https://hub.docker.com/r/arm32v7/drupal/、https://hub.docker.com/r/arm64v8/drupal/、https://hub.docker.com/r/i386/drupal/、https://hub.docker.com/r/ppc64le/drupal/、https://hub.docker.com/r/riscv64/drupal/、https://hub.docker.com/r/s390x/drupal/
已发布镜像制品详情:
https://github.com/docker-library/repo-info/blob/master/repos/drupal(https://github.com/docker-library/repo-info/commits/master/repos/drupal)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fdrupal
https://github.com/docker-library/official-images/blob/master/library/drupal(https://github.com/docker-library/official-images/commits/master/library/drupal)
此描述的来源:
https://github.com/docker-library/docs/tree/master/drupal(https://github.com/docker-library/docs/commits/master/drupal)
Drupal是一个免费开源的内容管理框架,使用PHP编写,并根据GNU通用公共许可证分发。它被用作至少2.1%的全球网站的后端框架,从个人博客到企业、和网站,包括和。它还用于知识管理和业务协作。
***.org/wiki/Drupal
启动drupal实例的基本命令模式如下:
console$ docker run --name some-drupal -d mips64le/drupal
如果希望从主机访问实例而无需使用容器IP,可以使用标准端口映射:
console$ docker run --name some-drupal -p 8080:80 -d mips64le/drupal
然后,在浏览器中通过http://localhost:8080或http://host-ip:8080访问。
此镜像支持多种数据库类型,最容易通过Docker网络使用。在默认配置中,可以使用SQLite来避免使用第二个容器并写入平面文件。以下是不同(更适合生产环境)数据库类型的详细说明。
首次访问此镜像提供的Web服务器时,会进行简短的设置过程。以下详细信息专门针对该配置过程中的“设置数据库”步骤。
要将Drupal与MySQL数据库一起使用,需要运行一个https://hub.docker.com/_/mysql/容器,并使用`MYSQL_DATABASE`、`MYSQL_USER`、`MYSQL_PASSWORD`和`MYSQL_ROOT_PASSWORD`环境变量进行配置:
console$ docker run -d --name some-mysql --network some-network \ -e MYSQL_DATABASE=drupal \ -e MYSQL_USER=user \ -e MYSQL_PASSWORD=password \ -e MYSQL_ROOT_PASSWORD=password \ mysql:5.7
在Web安装向导的Drupal“设置数据库”步骤中,输入您提供的环境变量值:
<访问MySQL实例的详细信息>(MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE;参见https://hub.docker.com/_/mysql/描述中的环境变量)some-mysql(同一https://docs.docker.com/v17.09/engine/userguide/networking/上的容器可通过容器名称路由)要将Drupal与PostgreSQL数据库一起使用,需要运行一个https://hub.docker.com/_/postgres容器,并使用`POSTGRES_DB`、`POSTGRES_USER`和`POSTGRES_PASSWORD`环境变量进行配置:
console$ docker run -d --name some-postgres --network some-network \ -e POSTGRES_DB=drupal \ -e POSTGRES_USER=user \ -e POSTGRES_PASSWORD=pass \ postgres:11
在Web安装向导的Drupal“设置数据库”步骤中,输入您提供的环境变量值:
PostgreSQL<访问PostgreSQL实例的详细信息>(POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB;参见https://hub.docker.com/_/postgres/描述中的环境变量)some-postgres(同一https://docs.docker.com/v17.09/engine/userguide/networking/上的容器可通过容器名称路由)默认情况下,此镜像不包含任何卷。关于此主题的大量讨论在https://github.com/docker-library/drupal/issues/3中,强烈建议阅读。
大家一致认为/var/www/html/modules、/var/www/html/profiles和/var/www/html/themes通常应该是卷(未来此镜像的更新中可能会有显式的VOLUME声明),但/var/www/html/sites目录的处理更为复杂,因为该目录的内容需要使用镜像中的内容进行初始化。
如果使用绑定挂载,一种预填充本地sites目录的方法如下:
console$ docker run --rm mips64le/drupal tar -cC /var/www/html/sites . | tar -xC /path/on/host/sites
然后可以将其绑定挂载到新容器中:
console$ docker run --name some-drupal --network some-network -d \ -v /path/on/host/modules:/var/www/html/modules \ -v /path/on/host/profiles:/var/www/html/profiles \ -v /path/on/host/sites:/var/www/html/sites \ -v /path/on/host/themes:/var/www/html/themes \ mips64le/drupal
使用Docker卷的另一种解决方案:
console$ docker volume create drupal-sites $ docker run --rm -v drupal-sites:/temporary/sites mips64le/drupal cp -aRT /var/www/html/sites /temporary/sites $ docker run --name some-drupal --network some-network -d \ -v drupal-modules:/var/www/html/modules \ -v drupal-profiles:/var/www/html/profiles \ -v drupal-sites:/var/www/html/sites \ -v drupal-themes:/var/www/html/themes \ mips64le/drupal
drupal的compose.yaml示例:
yaml# Drupal with PostgreSQL # # 通过"http://localhost:8080"访问 # # 在Drupal初始设置期间, # 数据库类型:PostgreSQL # 数据库名称:postgres # 数据库用户名:postgres # 数据库密码:example # 高级选项;数据库主机:postgres services: drupal: image: docker.xuanyuan.run/drupal:10-apache ports: - 8080:80 volumes: - /var/www/html/modules - /var/www/html/profiles - /var/www/html/themes # 利用Docker的特性:新的匿名卷(我们在此创建的)将使用镜像中同一位置的现有内容进行初始化 - /var/www/html/sites restart: always postgres: image: docker.xuanyuan.run/postgres:16 environment: POSTGRES_PASSWORD: example restart: always
运行docker compose up,等待完全初始化后,访问http://localhost:8080或http://host-ip:8080(视情况而定)。安装时选择postgres作为数据库,参数如下:dbname=postgres user=postgres pass=example hostname=postgres
此镜像不提供任何额外的PHP扩展或其他库,即使它们是流行插件所必需的。可能的插件数量无穷无尽,它们可能需要PHP支持的任何扩展。包含所有存在的PHP扩展会显著增加镜像大小。
如果需要额外的PHP扩展,需要基于此镜像创建自己的镜像。https://github.com/docker-library/docs/blob/master/php/README.md#how-to-install-more-php-extensions解释了如何编译额外的扩展。此外,https://github.com/docker-library/drupal/blob/bee08efba505b740a14d68254d6e51af7ab2f3ea/7/Dockerfile#L6-9中有这样做的示例。
以下Docker Hub功能可以帮助保持依赖镜像的更新:
参见https://hub.docker.com/_/php/。
查看此镜像中包含的软件的https://www.drupal.org/licensing/faq。
与所有Docker镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可证(例如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能位于https://github.com/docker-library/repo-info/tree/master/repos/drupal中。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。
以下是 mips64le/drupal 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务