为什么使用 Docker?
Docker 为开发者提供了一种独立且可移植的方式来运行应用程序,彻底解决“它无法在我的计算机上运行”这一开发环境设置的常见难题。
Docker 的优势在于:
可移植性:Docker 容器能够在任何平台上运行,确保应用程序始终保持一致的行为。
易于安装:所有依赖项和配置都包含在容器内,只需一个简单的 Docker 命令即可轻松地将项目分享给其他开发人员。
隔离性:每个项目都拥有独立的运行环境,避免项目之间的冲突,提高开发效率。
对于想要开发应用程序的任何人来说,Docker 都是一个强大的工具,能够提升开发效率,降低部署难度,并促进团队协作。
步骤 1:安装 Docker 和 Docker Compose
安装步骤:
1、访问 Docker 官方网站
2、下载适合您操作系统的 Docker 版本: 网站上提供了 Windows、macOS 和 Linux 的安装包。
3、按照安装向导完成安装: 安装过程通常比较简单,只需按照提示进行操作即可。
安装完成后,打开终端或命令行窗口,输入以下命令检查 Docker 是否安装成功:
docker --version
步骤 2:创建 PHP 环境的 Dockerfile
为了创建一个独立的 PHP 开发环境,我们需要创建一个 Dockerfile。
在您的项目目录中创建一个名为 Dockerfile 的文件。不要给文件添加任何扩展名,直接命名为 Dockerfile。
现在,您已经创建了 Dockerfile 文件,接下来我们将在这个文件中定义我们的 PHP 开发环境。
FROM php:8.0-apache
# 指定工作目录
WORKDIR /var/www/html
# 安装必要的PHP扩展
RUN docker-php-ext-install mysqli pdo pdo_mysql
# 打开端口
EXPOSE 80
步骤 3:使用 Docker Compose 定义服务
为了同时使用 PHP 和 MySQL,我们需要使用 Docker Compose 来定义和管理这两个服务。
在项目目录中创建一个名为 docker-compose.yml 的文件。
接下来,我们将在 docker-compose.yml 文件中定义 PHP 和 MySQL 服务,并配置它们之间的连接。
version: '3.8'
services:
php:
build:
context: .
container_name: php_container
volumes:
- ./src:/var/www/html
ports:
- "8080:80"
networks:
- app-network
mysql:
image: mysql:5.7
container_name: mysql_container
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydatabase
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- dbdata:/var/lib/mysql
ports:
- "3306:3306"
networks:
- app-network
networks:
app-network:
driver: bridge
volumes:
dbdata:
PHP 服务:
使用一个 Docker 镜像构建 PHP 容器。
将项目目录中的源代码(PHP 文件)挂载到容器内的
/var/www/html
目录,方便进行开发和调试。
MySQL 服务:
使用一个 Docker 镜像构建 MySQL 容器。
创建一个外部卷,用于存储数据库文件。这样即使删除容器,数据也不会丢失。
步骤 4:启动项目
完成所有配置后,我们可以启动项目了!
1、在终端中执行以下命令:
docker-compose up -d
这条命令会:
在后台启动
docker-compose.yml
文件中定义的 PHP 和 MySQL 服务。创建必要的容器并启动它们。
2、访问您的应用程序:
打开浏览器,访问 localhost:8080
即可查看正在运行的 PHP 应用程序。
现在,您已经成功地使用 Docker 和 Docker Compose 创建了一个完整的 PHP 开发环境,并启动了您的应用程序!
发表评论 取消回复