Docker

下载镜像

docker pull nginx
docker pull bitnami/php-fpm

环境配置

在物理机构建好你的开发环境需要的配置目录以及Nginx的配置文件,方便管理。

构建容器

docker run --name myFpm  -v /Users/zhen/www-root/work:/usr/share/nginx/html -v /Users/zhen/docker/lnmp/nginx:/etc/nginx/conf.d -d bitnami/php-fpm

docker run --name myNginx -p 80:80  -v /Users/zhen/www-root/work:/usr/share/nginx/html -v /Users/zhen/docker/lnmp/nginx:/etc/nginx/conf.d -d nginx

虽然一切正常但是还是无法通过物理机器访问,查看下ip信息,发现了问题。来修改Nginx配置吧。

docker inspect myFpm | grep "IPAddress"

docker inspect myNginx | grep "IPAddress"

server 
{
    listen 80;
    server_name  xxxx.com xxxxx.com xxxx.com

    index index.html index.htm index.php;

    root /usr/share/nginx/html/mhadmin;
    
    #access_log /tmp/mhadmin.log;
    #error_log /tmp/mhadmin_error.log error;
    
    location / {
        index  index.php index.html;
        try_files $uri $uri/ /index.php?$query_string;

        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=$1 last;
            break;
        }
    }

    location ~ .php {
        fastcgi_pass   172.17.0.2:9000; 
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /.ht {
        deny  all;
    }
}


修改
fastcgi_pass   127.0.0.1:9000; 
为:
fastcgi_pass   172.17.0.2:9000;

搞定。

常用的命令

进入容器

docker exec -it myNginx /bin/bash

复制容器内的配置到宿主机器

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

复制宿主机器文件到容器

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

nginx 重新加载配置

service nginx reload

停止所有容器

docker stop $(docker ps -a -q)

删除所有容器

docker rm $(docker ps -a -q)
原文地址:https://www.cnblogs.com/pzblog/p/8279211.html