推荐答案
// www.javascriptcn.com code example ## 推荐答案 在 PHP 中使用 Docker 部署 PHP 应用的步骤如下: 1. **创建 Dockerfile**:在项目根目录下创建一个名为 `Dockerfile` 的文件,内容如下: ```dockerfile # 使用官方的 PHP 镜像作为基础镜像 FROM php:7.4-cli # 设置工作目录 WORKDIR /app # 将当前目录下的所有文件复制到容器的 /app 目录中 COPY . /app # 安装 PHP 依赖 RUN docker-php-ext-install pdo_mysql # 暴露端口 EXPOSE 80 # 运行 PHP 内置服务器 CMD ["php", "-S", "0.0.0.0:80"]
创建 docker-compose.yml 文件:在项目根目录下创建一个名为
docker-compose.yml的文件,内容如下:version: '3' services: web: build: . ports: - "8080:80" volumes: - .:/app构建并运行容器:在项目根目录下运行以下命令来构建并启动容器:
docker-compose up --build
访问应用:在浏览器中访问
http://localhost:8080,即可看到部署的 PHP 应用。
// www.javascriptcn.com code example ## 本题详细解读 ### 1. Dockerfile 的作用 Dockerfile 是一个文本文件,包含了一系列的指令,用于定义如何构建 Docker 镜像。在这个例子中,我们使用了官方的 PHP 镜像作为基础镜像,并在此基础上安装了 `pdo_mysql` 扩展,以便 PHP 应用能够连接 MySQL 数据库。 ### 2. docker-compose.yml 的作用 `docker-compose.yml` 文件用于定义和运行多容器 Docker 应用。在这个例子中,我们定义了一个名为 `web` 的服务,它使用当前目录下的 Dockerfile 构建镜像,并将容器的 80 端口映射到主机的 8080 端口。`volumes` 指令用于将当前目录挂载到容器的 `/app` 目录,以便在开发过程中可以实时更新代码。 ### 3. 构建并运行容器 `docker-compose up --build` 命令会构建镜像并启动容器。`--build` 选项确保在启动容器之前重新构建镜像。 ### 4. 访问应用 通过将容器的 80 端口映射到主机的 8080 端口,我们可以在浏览器中访问 `http://localhost:8080` 来查看部署的 PHP 应用。 ### 5. 其他注意事项 - 如果你需要连接 MySQL 数据库,可以在 `docker-compose.yml` 中添加一个 `db` 服务,并配置 PHP 应用连接到该服务。 - 在生产环境中,建议使用更稳定的 Web 服务器(如 Nginx 或 Apache)来替代 PHP 内置服务器。