docker搭建LNMP环境,保姆级教程
发布人:shili8
发布时间:2025-02-27 00:41
阅读次数:0
**Docker 搭建 LNMP 环境 保姆级教程**
LNMP(Linux、Nginx、MySQL、PHP)是目前最常见的 Web 开发环境之一。使用 Docker 来搭建 LNMP 环境可以方便地管理和部署应用程序。下面我们将一步步地讲解如何使用 Docker 搭建 LNMP 环境。
**前提条件**
* 您已经安装了 Docker 和 Docker Compose。
* 您有一个 Linux 或 macOS 系统(Windows 用户也可以使用 WSL2)。
**步骤1:创建 Dockerfile**
首先,我们需要创建一个 `Dockerfile` 来定义我们的 LNMP 环境。这个文件将包含所有必要的命令来构建我们的镜像。
dockerfile# 使用官方的nginx、mysql和php镜像FROM nginx:latestFROM mysql:5.7# 将php镜像添加到容器中FROM php:7.4-fpm# 设置环境变量ENV MYSQL_ROOT_PASSWORD=123456ENV MYSQL_DATABASE=lnmpENV MYSQL_USER=lnmpuserENV MYSQL_PASSWORD=123456# 复制配置文件COPY ./nginx.conf /etc/nginx/conf.d/default.confCOPY ./mysql/my.cnf /etc/mysql/my.cnfCOPY ./php.ini /usr/local/etc/php/php.ini# 设置端口映射EXPOSE803306# 启动服务CMD ["nginx", "-g", "daemon off;"]
**步骤2:创建配置文件**
接下来,我们需要创建一些配置文件来配置我们的 LNMP 环境。
* **nginx.conf**
bashserver { listen80; server_name localhost; location / { index index.html index.htm index.php; } error_page500502503504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
* **mysql/my.cnf**
bash[mysqld] bind-address=0.0.0.0[client] default-character-set=utf8mb4
* **php.ini**
bashdate.timezone = Asia/Shanghai
**步骤3:创建 Docker Compose 文件**
现在,我们需要创建一个 `docker-compose.yml` 文件来定义我们的 LNMP 环境。
ymlversion: '3' services: nginx: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD:123456 MYSQL_DATABASE: lnmp MYSQL_USER: lnmpuser MYSQL_PASSWORD:123456 ports: - "3306:3306" php: build: . depends_on: - mysql
**步骤4:启动 Docker Compose**
最后,我们可以使用以下命令来启动我们的 LNMP 环境。
bashdocker-compose up -d
这将在后台启动我们的 LNMP 环境。您可以通过访问 ` 来查看 Nginx 的欢迎页面。
**总结**
在本教程中,我们使用 Docker 和 Docker Compose 搭建了一个 LNMP 环境。我们创建了一个 `Dockerfile` 来定义我们的镜像,配置文件来配置我们的环境,以及一个 `docker-compose.yml` 文件来定义我们的服务。最后,我们启动了我们的 LNMP 环境并访问了 Nginx 的欢迎页面。
**参考**
* Docker 官方文档: />* Docker Compose 官方文档: />* Nginx 官方文档: />* MySQL 官方文档: />* PHP 官方文档: