>本教程通过使用当前的最佳实践Docker设置PHP开发环境,从而指导您。 我们将介绍PHP开发环境的演变,强调Docker比旧方法的优势。 如果要跳过历史记录,请跳到配置步骤。
>
> Web开发的快速步伐需要现代方法。 过时的教程比比皆是。 让我们回顾一下演变:
手动安装:
>预先配置的软件包(XAMPP,WAMP):
>虚拟机(vagrant):
docker: docker提供了没有开销的虚拟机的好处。它将应用程序及其所有依赖项包装到容器中,以确保环境的一致性。
> Docker避免了流浪者的资源消耗和同步问题。它允许多个具有不同配置(Apache,nginx,各种PHP版本)的网站同时运行,每个网站都在其自己的容器中隔离。 移动网站就像复制单个文件夹一样简单。
设置docker环境
>
>先决条件:
>下载并安装Docker。 在Linux上,通过发行版的软件包管理器安装和。 您可能需要将用户添加到
>组中,然后启动/启用Docker服务。 Windows和MacOS安装程序会自动处理此操作。在继续之前,请停止任何现有的Web服务器(Apache,nginx等)或MySQL实例。>
>配置(docker-compose.yml):
创建一个项目文件夹和adocker
文件:docker-compose
>
docker
> nginx配置(nginx.conf):
docker-compose.yml
version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/nginx.conf - ./app:/app php: build: context: . dockerfile: PHP.Dockerfile volumes: - ./app:/app mysql: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: 'secret' MYSQL_USER: 'tutorial' MYSQL_PASSWORD: 'secret' MYSQL_DATABASE: 'tutorial' volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 volumes: mysqldata: {}
创建
:version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/nginx.conf - ./app:/app php: build: context: . dockerfile: PHP.Dockerfile volumes: - ./app:/app mysql: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: 'secret' MYSQL_USER: 'tutorial' MYSQL_PASSWORD: 'secret' MYSQL_DATABASE: 'tutorial' volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 volumes: mysqldata: {}
运行服务:
>在您的项目目录中打开一个终端并运行docker-compose up
。 这将启动NGINX,PHP和Mariadb。访问您的网站http://127.0.0.1
。 一个“你好,世界!” app/public/index.html
>确认设置的测试页面。 用phpinfo()
>中的app/public/index.php
脚本验证PHP功能。 使用MySQL Workbench等客户端连接到MySQL。
>部署:>只需上传您的项目文件(包括docker-compose.yml
>,nginx.conf
和PHP.Dockerfile
),然后运行docker-compose up -d
以进行无缝部署。
常见问题解答:(提供的FAQ已经结构良好,可以直接包括在内。)
>此修订后的输出维护原始图像位置和格式,同时重新绘制文本以提高清晰度和流动,避免窃。
以上是与Docker建立现代的PHP开发环境的详细内容。更多信息请关注PHP中文网其他相关文章!