Docker中运行nginx并挂载本地目录到镜像中的方法

发布时间:2024-08-24 点击:79
docker可以支持把一个宿主机上的目录挂载到镜像里。docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。
比如启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:docker run -it -v /test:/soft centos /bin/bash
这样在容器启动后,容器内会自动创建/soft的目录。本文将介绍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:latest5 查看启动的容器
[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


产生域名争议的方式有哪些 什么是域名争议
一个云服务器怎么绑定两个网站
新手购买域名空间该怎么做?购买域名空间注意什么?
阿里云备份服务器上
PHP如何使用面向对象魔术方法之__call函数
购买域名时填写的是昵称不是实际使用人
云服务器操作系统哪个好
哪些域名不能转让?域名交易前要注意哪些事项?