在LNMP(Linux, Nginx, MySQL, PHP)环境下使用Docker容器化应用涉及几个关键步骤。以下是一个详细的指南,帮助你完成这一过程:
首先,确保你的系统已经安装了Docker和Docker Compose。以下是安装步骤:
安装Docker:
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
sudo systemctl enable docker
sudo systemctl start 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 Hub上的官方镜像来拉取Nginx、MySQL和PHP-FPM镜像:
docker pull nginx
docker pull mysql:5.7
docker pull php:7.1-fpm
创建并运行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
创建并运行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
创建并运行PHP容器:
docker run -d --name php-fpm -p 9000:9000 -v /path/to/your/app:/var/www/html php:7.1-fpm
编辑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;
}
}
重启Nginx容器以应用配置更改:
docker restart nginx
在PHP容器中创建一个index.php
文件,内容如下:
<?php
phpinfo();
?>
通过浏览器访问http://localhost
,你应该能看到PHP信息页面,这表明你的应用已经成功运行在Docker容器化的LNMP环境中。
以上步骤涵盖了在LNMP环境下使用Docker容器化应用的基本流程。你可以根据具体需求进一步调整和优化这些步骤。