Docker 安装 Nginx

查找Docker Hub上的nginx镜像

$ docker search nginx

拉取官方的镜像

$ docker pull nginx

运行容器

$ docker run --name docker-nginx -d -p 80:80 -v /Users/ct/project:/usr/share/nginx/html -v /Users/ct/etc/docker/nginx/logs:/var/log/nginx -v /Users/ct/etc/docker/nginx/conf.d:/etc/nginx/conf.d -v /Users/ct/etc/docker/nginx/nginx.conf:/etc/nginx/nginx.conf nginx

命令说明:

-d :分离模式: 在后台运行

-p 80:80:将容器的80端口映射到主机的80端口

--name docker-nginx:将容器命名为docker-nginx

-v /Users/ct/etc/docker/nginx/html:/usr/share/nginx/html:将主机中当前目录下的html挂载到容器的/html

-v /Users/ct/etc/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf

-v /Users/ct/etc/docker/nginx/logs:/var/log/nginx:将主机中当前目录下的logs挂载到容器的/var/log/nginx

-v /Users/ct/etc/docker/nginx/conf.d:/etc/nginx/conf.d:将主机中当前目录下的vhost挂载到容器的/etc/nginx/conf.d

命令说明:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

注意:

1、宿主机nginx.conf配置文件中的user要和NGINX容器中的user保持一致

2、宿主机配置文件中的各个路径(日志,root等)要和NGINX容器中的保持一致

示例配置:

server {

    listen       80;

    server_name  share.mis.com;

    root /usr/share/nginx/html/mis/public;

    index index.php index.html index.htm;

    #charset koi8-r;

    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {

        try_files $uri $uri/ /index.php?$query_string;

    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    #

    location ~ \.php$ {

        root           /var/www/html/mis/public;

        fastcgi_pass   docker-php-fpm:9000;

        fastcgi_index  index.php;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include        fastcgi_params;

    }

}

相关推荐