使用 Docker 构建 LNMP 环境并实现 hosts 映射
一、整体流程
在构建 LNMP (Linux, Nginx, MySQL, PHP) 环境之前,我们需要有一个清晰的步骤和流程。以下是实现这一目标的主要步骤。
步骤 | 内容 |
---|---|
1 | 安装 Docker 和 Docker Compose |
2 | 创建 Docker Compose 文件 |
3 | 配置 Nginx |
4 | 配置 PHP-FPM |
5 | 配置 MySQL |
6 | 配置 hosts 文件 |
7 | 启动 Docker 容器并验证 |
二、步骤详解
1. 安装 Docker 和 Docker Compose
首先,你需要在你的机器上安装 Docker 和 Docker Compose。具体的安装过程请参考 [Docker 官方文档]( 和 [Docker Compose 文档](
docker --version # 输出你安装的 Docker 版本
docker-compose --version # 输出你安装的 Docker Compose 版本
2. 创建 Docker Compose 文件
在你的项目目录下创建一个叫 docker-compose.yml
的文件,并将以下内容写入文件中:
version: '3.7'
services:
nginx:
image: nginx:latest
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
networks:
- lnmp_net
php:
image: php:7.4-fpm
networks:
- lnmp_net
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpassword
networks:
- lnmp_net
networks:
lnmp_net:
driver: bridge
注释:
- 设置了三个服务:Nginx、PHP 和 MySQL。
volumes
允许我们将本地的配置文件挂载到容器中。ports
映射主机的 80 端口到容器的 80 端口。
3. 配置 Nginx
在项目目录下创建一个叫 nginx.conf
的文件,并将以下内容写入其中:
server {
listen 80;
server_name myapp.local;
location / {
root /var/www/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
注释:
- 配置 Nginx 监听 80 端口并定义服务器名为
myapp.local
。 - 定义 PHP 文件的处理规则。
4. 配置 PHP-FPM
这里只需要使用 PHP 的官方镜像即可,不需要特别配置。
5. 配置 MySQL
在 docker-compose.yml
中已经添加了 MySQL 的环境变量。注意修改 MYSQL_ROOT_PASSWORD
至你想要的密码。
6. 配置 hosts
文件
在你的本地机器上,编辑 /etc/hosts
文件(Linux 和 macOS)或 C:\Windows\System32\drivers\etc\hosts
文件(Windows),添加以下内容:
127.0.0.1 myapp.local
注释:
- 将
myapp.local
解析为本地 IP 地址127.0.0.1
。
7. 启动 Docker 容器并验证
在项目根目录下运行以下命令来启动容器:
docker-compose up -d # 后台启动容器
查看容器是否运行:
docker ps # 列出所有运行中的容器
结尾
通过以上步骤,你成功构建了一个 LNMP 环境,并实现了 hosts
映射。现在你可以通过输入 ` 来访问你的 PHP 应用程序了!希望这篇文章能帮助你快速入门 Docker 和 LNMP 的结合使用。
序列图
sequenceDiagram
participant User
participant Docker
User->>Docker: 创建 docker-compose.yml
User->>Docker: 启动容器
Docker-->>User: 返回运行状态
旅行图
journey
title LNMP 环境构建旅程
section 安装及配置
安装 Docker: 5: User
创建 docker-compose.yml: 4: User
配置 nginx.conf: 3: User
配置 /etc/hosts: 4: User
section 启动及验证
启动容器: 5: User
访问应用: 5: User
希望你能愉快地使用这些技术,持续探索更多的开发世界!