php-dev是一个包含Web服务器、PHP及Web应用开发所需工具的Docker镜像。通过在docker-compose.yml中设置参数,可以轻松选择所需的PHP版本以及启动Apache或Nginx Web服务器。建议使用https://github.com/pluswerk/docker-global%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%AD%A4Dockerfile%E7%9A%84%E6%9E%84%E5%BB%BA%E8%80%83%E8%99%91%E4%BA%86%E8%BF%99%E4%B8%80%E7%82%B9%E3%80%82
创建compose/Development/docker-compose.yml文件,如下所示。修改所有设置,主要包括VIRTUAL_HOST、WEB_DOCUMENT_ROOT,必要时修改应用上下文。环境变量CONTEXT用于切换不同的docker-compose.yml文件。
然后将start.sh复制到项目中并启动。
基础Docker镜像分别为https://hub.docker.com/r/webdevops/php-apache-dev和https://hub.docker.com/r/webdevops/php-nginx-dev。(https://github.com/webdevops/Dockerfile)
以下是docker-compose.yml文件的示例。将此文件放入项目中,配置后即可启动Docker项目。更多信息请参见文档。
示例文件:compose/Development/docker-compose.yml
yamlversion: '3.5' services: web: image: pluswerk/php-dev:nginx-7.4 volumes: - .:/app # 如果不需要node容器,docker socket可省略 - /var/run/docker.sock:/var/run/docker.sock:ro - ~/.ssh:/home/application/.ssh - ~/.composer/cache:/home/application/.composer/cache - ~/.gitconfig:/home/application/.gitconfig environment: # 有关VIRTUAL_*的详细说明,请参见文档中的Nginx反向代理部分 - VIRTUAL_HOST=docker-website.${TLD_DOMAIN:?TLD_DOMAIN is required},sub.docker-website.${TLD_DOMAIN:?TLD_DOMAIN is required} # - HTTPS_METHOD=noredirect - WEB_DOCUMENT_ROOT=/app/public - XDEBUG_CLIENT_HOST=${XDEBUG_CLIENT_HOST:-} - XDEBUG_CLIENT_PORT=${XDEBUG_CLIENT_PORT:-9000} - php.xdebug.idekey=${XDEBUG_IDEKEY:-PHPSTORM} # 项目环境变量(启用所需项) # - APP_ENV=development_docker # - PIMCORE_ENVIRONMENT=development_docker # - TYPO3_CONTEXT=Development/docker # 不要忘记通过bash start.sh连接 - APPLICATION_UID=${APPLICATION_UID:-1000} - APPLICATION_GID=${APPLICATION_GID:-1000} node: image: node:lts volumes: - ./:/app working_dir: /app environment: # 不要忘记通过bash start.sh连接 - APPLICATION_UID=${APPLICATION_UID:-1000} - APPLICATION_GID=${APPLICATION_GID:-1000} stop_signal: SIGKILL entrypoint: bash -c 'groupmod -g $APPLICATION_GID node; usermod -u $APPLICATION_UID node; tail -f /dev/null' networks: default: external: name: global
上述示例提示:
在您自己的配置中,可能需要将docker-website替换为项目名称,例如typo3。TLD_DOMAIN是环境变量,Nginx容器监听该变量以接收传入请求(例如example.com)。您的项目将可通过typo3.example.com访问。
该镜像为基础PHP安装,能够运行大多数PHP应用程序,并已成功测试/用于以下项目:
如果发现任何错误,请随时提交issue和/或pull request。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务