在LNMP(Linux, Nginx, MySQL, PHP)环境下使用Docker容器化应用涉及几个关键步骤。以下是一个详细的指南,帮助你完成这一过程:
1. 环境准备
首先,确保你的系统已经安装了Docker和Docker Compose。以下是安装步骤:
-
安装Docker:
- 下载并安装Docker RPM包:
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum makecache fast sudo yum -y install docker-ce
- 设置Docker开机自启动:
sudo systemctl enable docker sudo systemctl start docker
- 下载并安装Docker RPM包:
-
安装Docker Compose:
- 从Docker官网获取Docker Compose的安装包并安装:
curl -L "https://github.com/docker/compose/releases/download/1.13.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
- 从Docker官网获取Docker Compose的安装包并安装:
2. 拉取LNMP镜像
使用Docker Hub上的官方镜像来拉取Nginx、MySQL和PHP-FPM镜像:
docker pull nginx docker pull mysql:5.7 docker pull php:7.1-fpm
3. 创建Docker容器
3.1 Nginx容器
创建并运行Nginx容器:
docker run -d --name nginx -p 80:80 -v /path/to/your/app:/usr/share/nginx/html -v /var/log/nginx:/var/log/nginx -v /etc/nginx/conf.d:/etc/nginx/conf.d nginx
3.2 MySQL容器
创建并运行MySQL容器:
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=your_root_password -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql mysql:5.7
3.3 PHP容器
创建并运行PHP容器:
docker run -d --name php-fpm -p 9000:9000 -v /path/to/your/app:/var/www/html php:7.1-fpm
4. 配置Nginx
编辑Nginx配置文件以支持PHP:
docker exec -it nginx vim /etc/nginx/conf.d/default.conf
确保配置文件中有以下内容:
server { listen 80 default_server; server_name localhost; root /usr/share/nginx/html; location / { index index.html index.htm index.php; autoindex off; } location ~ \.php$ { root /var/www/html; fastcgi_pass php-fpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
5. 重启Nginx容器
重启Nginx容器以应用配置更改:
docker restart nginx
6. 测试应用
在PHP容器中创建一个index.php
文件,内容如下:
通过浏览器访问http://localhost
,你应该能看到PHP信息页面,这表明你的应用已经成功运行在Docker容器化的LNMP环境中。
以上步骤涵盖了在LNMP环境下使用Docker容器化应用的基本流程。你可以根据具体需求进一步调整和优化这些步骤。