mips64le/drupal注意: 这是官方drupal镜像的mips64le架构构建的“每架构”仓库——更多信息,请参见官方镜像文档中的“除amd64之外的架构?”和官方镜像FAQ中的“Git中的镜像源已更改,现在该怎么办?”。
维护者:
Docker社区(非Drupal社区或Drupal安全团队)
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接警告: 此镜像在mips64le架构上不受支持
提交issue的位置:
[***]
支持的架构: (更多信息)
amd64、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
已发布镜像制品详情:
repo-info仓库的repos/drupal/目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/drupal标签
official-images仓库的library/drupal文件(历史记录)
此描述的来源:
docs仓库的drupal/目录(历史记录)
Drupal是一个免费开源的内容管理框架,使用PHP编写,并根据GNU通用公共许可证分发。它被用作至少2.1%的全球网站的后端框架,从个人博客到企业、和网站,包括***.gov和***。它还用于知识管理和业务协作。
***.org/wiki/Drupal
!logo
启动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或[***]访问。
此镜像支持多种数据库类型,最容易通过Docker网络使用。在默认配置中,可以使用SQLite来避免使用第二个容器并写入平面文件。以下是不同(更适合生产环境)数据库类型的详细说明。
首次访问此镜像提供的Web服务器时,会进行简短的设置过程。以下详细信息专门针对该配置过程中的“设置数据库”步骤。
要将Drupal与MySQL数据库一起使用,需要运行一个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;参见mysql描述中的环境变量)some-mysql(同一docker-network上的容器可通过容器名称路由)要将Drupal与PostgreSQL数据库一起使用,需要运行一个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;参见postgres描述中的环境变量)some-postgres(同一docker-network上的容器可通过容器名称路由)默认情况下,此镜像不包含任何卷。关于此主题的大量讨论在docker-library/drupal#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
docker composedrupal的compose.yaml示例:
yaml# Drupal with PostgreSQL # # 通过"http://localhost:8080"访问 # # 在Drupal初始设置期间, # 数据库类型:PostgreSQL # 数据库名称:postgres # 数据库用户名:postgres # 数据库密码:example # 高级选项;数据库主机:postgres services: drupal: image: 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: postgres:16 environment: POSTGRES_PASSWORD: example restart: always
运行docker compose up,等待完全初始化后,访问http://localhost:8080或[***](视情况而定)。安装时选择postgres作为数据库,参数如下:dbname=postgres user=postgres pass=example hostname=postgres
此镜像不提供任何额外的PHP扩展或其他库,即使它们是流行插件所必需的。可能的插件数量无穷无尽,它们可能需要PHP支持的任何扩展。包含所有存在的PHP扩展会显著增加镜像大小。
如果需要额外的PHP扩展,需要基于此镜像创建自己的镜像。php镜像的文档解释了如何编译额外的扩展。此外,drupal:7 Dockerfile中有这样做的示例。
以下Docker Hub功能可以帮助保持依赖镜像的更新:
参见php镜像文档的“以任意用户运行”部分。
查看此镜像中包含的软件的许可证信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可证(例如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能位于repo-info仓库的drupal/目录中。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务