返回

Docker Desktop 搭配 PHP,打造开发环境新选择

后端

在软件开发过程中,开发环境与线上环境存在微小的差异,可能会导致一些不易发现的 Bug,而且环境问题难以解决。为了避免这种情况,Docker 应运而生。Docker 可以让开发环境与线上环境保持一致,从而避免 Bug 的产生。本文将介绍如何使用 Docker Desktop 和 PHP 来搭建一个开发环境,帮助您构建更稳定的应用。

1. Docker Desktop 简介

Docker Desktop 是 Docker 公司官方出品的桌面应用,可以方便地在 Windows、Mac 和 Linux 系统上安装和运行 Docker。它提供了友好的图形化界面,可以轻松管理 Docker 镜像、容器和网络等资源。

2. Dockerfile 简介

Dockerfile 是一个文本文件,它定义了如何构建 Docker 镜像。Docker 镜像是一个只读模板,它包含了构建应用程序所需的所有文件和依赖项。

3. 搭建 PHP 开发环境

首先,我们需要创建一个 Dockerfile 来定义 PHP 镜像。以下是一个示例 Dockerfile:

FROM php:7.4-fpm

RUN apt-get update && apt-get install -y \
    mysql-client \
    git \
    composer

WORKDIR /var/www

COPY . /var/www

这个 Dockerfile 基于 PHP 7.4-fpm 镜像,并安装了 MySQL 客户端、Git 和 Composer。然后,我们将工作目录设置为 /var/www,并将当前目录中的所有文件复制到 /var/www 目录中。

4. 使用 Docker Compose 管理容器

Docker Compose 可以方便地管理多个容器。以下是一个示例 docker-compose.yml 文件:

version: '3.8'

services:
  php:
    build: .
    volumes:
      - .:/var/www
    ports:
      - "80:80"
  mysql:
    image: mysql:5.7
    volumes:
      - mysql-data:/var/lib/mysql
  adminer:
    image: adminer
    ports:
      - "8080:8080"

在这个 docker-compose.yml 文件中,我们定义了三个容器:phpmysqladminerphp 容器基于我们刚才创建的 Dockerfile 构建,并映射了当前目录到 /var/www 目录。mysql 容器是 MySQL 数据库,adminer 容器是 phpMyAdmin 管理工具。

5. 运行开发环境

我们可以使用以下命令来运行开发环境:

docker-compose up -d

这将启动 phpmysqladminer 容器。

6. 访问开发环境

我们可以通过以下 URL 来访问开发环境:

http://localhost:80

这将打开 PHP 开发环境的首页。

7. 总结

Docker Desktop 和 PHP 可以轻松地搭建一个开发环境,帮助您构建更稳定的应用。Dockerfile 可以定义 Docker 镜像,Docker Compose 可以管理多个容器。本文介绍了如何使用 Docker Desktop 和 PHP 来搭建一个开发环境,并演示了如何使用该环境。