centos使用Docker部署Nginx作为静态资源服务器

1、在安装了Docker的centos机器上使用以下命令拉取nginx镜像

docker pull nginx

 

2、在主机根目录下新建一个/etc/nginx/conf.d/目录,在该目录下新建一个default.conf文件,文件内容如下

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /home/humanImgs;
        index  index.html index.htm;
    }

    #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   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
}

 

3、在default.conf文件中的代码中, 

  location / {
        root   /home/humanImgs;
        index  index.html index.htm;
    }

“root  /home/humanImgs” 表示将把nginx服务器启动后的资源路径的根目录映射到nginx服务器里的/home/humanImgs。

 

4、在主机根目录下新建一个/home,home目录下新建一个humanImgs目录来存放图片,humanImgs内容如下:

centos使用Docker部署Nginx作为静态资源服务器_第1张图片

 

5、使用以下命令来启动一个名字叫做my_nginx的nginx容器,

docker run --name my_nginx -d -p 10010:80 -v /home:/home -v /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx

其中,

-p 10010:80表示将nginx容器的80端口映射到主机的10010端口上,我们之后可以通过“主机的ip地址:10010”来访问nginx容器;

-v /home:/home表示将主机根目录下的home目录挂载到容器的根目录下的home目录上,这样我们就可以使nginx容器也拥有humanImgs文件夹;

-v  /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf 表示将主机/etc/nginx/conf.d/下的default.conf文件挂载到容器/etc/nginx/conf.d/目录下的default.conf文件,这样nginx容器里面的default.conf文件的内容就会跟我们刚才新建的default.conf文件的内容一样,以后我们可以通过在主机上修改/etc/nginx/conf.d/default.conf文件内容来修改nginx对应的default.conf文件内容;

 

6、使用上述命令后使用docker exec -it my_nginx /bin/bash来进入nginx容器内部,使用ls查看nginx容器根目录:

可以看到容器里面果然有一个home目录,进入到home目录,可以看到容器里面也有一个humanImgs文件夹

 

7、在浏览器里面输入http://121.36.17.170:10010/1.jpg其中,http://121.36.17.170是我主机ip,10010是启动容器时与容器绑定的主机端口,因为nginx容器的资源路径根目录已经被挂载到了home/humanImgs目录下,所以在http://121.36.17.170:10010/后直接加上文件名就可以访问文件了。回车,可以看到1.jpg文件。

centos使用Docker部署Nginx作为静态资源服务器_第2张图片

你可能感兴趣的:(其它)