拉取nginx镜像
docker pull nginx
任务:搭建文件服务器
如果想要使用nginx
搭建静态文件服务器,并使用宿主机的目录存放文件,则需要在创建容器的时候使用-v
指定主机挂载目录与容器被挂载的目录。
1. 挂载主机目录
使用-v
挂载目录,冒号前面部分是主机要挂载文件路径,冒号后面部分是挂载到容器的路径;
例如:-v /home:/home
表示将宿主机的home
目录下的所有文件挂载到容器的home
目录下 。
docker run --name nginx -d -p 8088:80 -v /usr/userfile:/usr/share/nginx/html nginx
其中,/usr/userfile
是宿主机真实的路径,/usr/share/nginx/html
是容器中的nginx
配置文件中默认的路径。
// 下面是可选操作
当然,这里你也可以把配置文件映射出来:(想要什么就映射什么文件,哈哈)
docker run --name nginx -d -p 8088:80 -v /home/userfile:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx
记住不要去容器内部修改配置文件,因为容器内部没有vim
,你得自己去下载:
apt-get update
apt-get install vim
注意,干完上面工作以后访问发布的数据可能会报 403 forgetten ,极有可能是权限问题,
解决办法:修改目录的读写权限,或者是把nginx
的启动用户改成目录的所属用户,重启Nginx
即可解决
chmod -R 777 /usr
chmod -R 777 /usr/userfile