mac.使用docker快速搭建nginx-php环境

安装docker

首先,从官方的docker.com/products/doc下载安装,当然也可以选择:brew安装docker

brew cask install docker

拉取镜像

docker pull skiychan/nginx-php7:latest

创建container并运行

docker run --name nginx-php7 -p 8080:80 -v /Users/jjkkll/nginx-php7:/data/www -d skiychan/nginx-php7
  • --name 指定container的名字
  • -p 指定映射的端口,左边是宿主机的端口
  • -v 指定文件夹的映射,左边是宿主机的路径
  • -d Run container in background and print container ID

进入容器

在使用 -d 参数时,容器启动后会进入后台。

某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令,推荐大家使用 docker exec 命令,因为用attach时,如果从这个 stdin 中 exit,会导致容器的停止。

docker exec -it 69e bash

docker exec -it nginx-php7 bash 

第一个是容器的md5值,可以通过list取得,一般取前几位即可

docker container list -a

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                  PORTS                           NAMES
69e52c4fa4d1        skiychan/nginx-php7   "/start.sh"         34 minutes ago      Up 34 minutes           443/tcp, 0.0.0.0:8080->80/tcp   nginx-php7
c738eb1f8a2f        hello-world           "/hello"            3 days ago          Exited (0) 3 days ago                                   naughty_engelbart

输出phpinfo

cd /data/www/
ls
echo "index.php

在宿主机浏览器打开http://localhost:8080/即可看到熟悉的phpinfo界面

image.png

附nginx配置

这个镜像的配置在/usr/local/nginx/conf/下的nginx.conf里:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    root   /data/www;
    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    location ~ \.php$ {
        root           /data/www;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

你可能感兴趣的:(mac.使用docker快速搭建nginx-php环境)