Docker如何运行nginx并挂载本地目录到镜像中

1 从hup上pull镜像

docker pull nginx

2 创建将要挂载的目录

mkdir -p /data/nginx/{conf,conf.d,html,logs}

3 先要有配置文件才能启动容器

3.1 vim /data/conf/nginx.conf

user nginx; worker_processes 1;  error_log /var/log/nginx/error.log warn; pid    /var/run/nginx.pid;   events {   worker_connections 1024; }   http {   include    /etc/nginx/mime.types;   default_type application/octet-stream;    log_format main '$remote_addr - $remote_user [$time_local] "$request" '            '$status $body_bytes_sent "$http_referer" '            '"$http_user_agent" "$http_x_forwarded_for"';    access_log /var/log/nginx/access.log main;    sendfile    on;   #tcp_nopush   on;    keepalive_timeout 65;    #gzip on;    include /etc/nginx/conf.d/*.conf; }

3.2 vim /data/nginx/conf.d/default.conf

server {    listen    80;    server_name localhost;      #charset koi8-r;    #access_log /var/log/nginx/log/host.access.log main;      location / {      root  /data/nginx/html;      # root  /usr/nginx/html;      index index.html index.htm;      autoindex on;    try_files $uri /index/index/page.html;      #try_files $uri /index/map/page.html;    }      #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;    #}  }

4 启动容器

#将容器中nginx的80端口映射到本地的81端口 docker run --name nginx81 -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -v /data/nginx/conf.d:/etc/nginx/conf.d -d nginx:latest

5 查看启动的容器

[root@dc01 ~]# docker ps container id image command created status ports names fa56f865bd26 nginx:latest "nginx -g 'daemon of…" 4 weeks ago up 3 seconds 0.0.0.0:80->80/tcp vigilant_swirles [root@dc01 ~]#

6 网页访问nginx

Docker如何运行nginx并挂载本地目录到镜像中

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享