docker创建nginx+php-fpm+mysql环境(一分钟搭建lnmp)

时间:2023-03-09 16:33:19
docker创建nginx+php-fpm+mysql环境(一分钟搭建lnmp)

下载镜像

docker pull bitnami/php-fpm    #下载php-fpm镜像
docker pull nginx          #下载nginx镜像
docker pull mysql:5.5.59      #下载mysql镜像

创建volume\network

docker volume create webpage  #用于容器web页面存放,存储位置默认为:/var/lib/docker/volume/webpage/_data/
docker network create --subnet=172.30.0.0/24 lnmp #创建网络,方便配置文件中直接使用容器名称

创建php-fpm、nginx、mysql镜像

docker run -d --name php -v webpage:/var/www --net lnmp --restart=always bitnami/php-fpm

docker run -d --name nginx -p 80:80 -v webpage:/var/www --net lnmp --restart=always nginx

docker run -itd --name mysql --restart=always -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --net lnmp mysql:5.5.59

修改docker下default.conf文件,文件目录/etc/nginx/conf.d/default.conf ,内容如下:

server {
listen ;
server_name localhost; location / {
root /var/www;
index index.html index.htm index.php;
} error_page /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} location ~ \.php$ {
root /var/www;
fastcgi_pass php:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

若不方便修改,可以使用docker cp命令,在宿主机上写好再复制到容器中替换,复制命令如下:

docker cp default.conf nginx:/etc/nginx/conf.d/default.conf

重启nginx容器

docker restart nginx

创建测试文件

<?php phpinfo.php ?>

将文件移动到数据卷目录下(web根目录就在这个目录下)

mv index.php /var/lib/docker/volume/webpage/_data/