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 etwork

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       80;
    server_name  localhost;

    location / {
        root   /var/www;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ .php$ {
        root           /var/www;
        fastcgi_pass   php:9000;
        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/
原文地址:https://www.cnblogs.com/yyxianren/p/10722940.html