在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容器化應用的基本流程。你可以根據具體需求進一步調整和優化這些步驟。