Docker配置Nginx提供Unity热更下载服务
参考阮一峰老师博文整理与学习
Docker的强大就不用说了,一行命令下载启动
$ docker container run \
-d \
-p 0.0.0.0:80:80 \
--rm \
--name mynginx \
nginx
- -d:在后台运行
- -p :容器的80端口映射到0.0.0.0:80,(不做过滤,因为本人买的阿里云,使用公网访问,开发学习可以使用127.0.0.1:80)
- --rm:容器停止运行后,自动删除容器文件
- --name:容器的名字为mynginx
打开浏览器,输入ip和端口,如127.0.0.1:80(80可省略,别的端口需要填写),即可正常见到Nginx欢迎页面
测试完毕,关掉容器
$ docker container stop mynginx
Nginx目录映射与配置
创建目录结构,Nginx作为本容器工作目录
$ cd ~
$ mkdir Nginx
$ cd Nginx
$ mkdir html
$ cd html
在Nginx文件夹下创建一个html子目录,在这个子目录里面,放置一个index.html文件,内容如下。
<h1>Hello World</h1>
一、添加映射关系
$ docker container run \
-d \
-p 0.0.0.0:80:80 \
--rm \
--name mynginx \
--volume "/root/Nginx/html":/usr/share/nginx/html \
nginx
- --volume 我用root账户所以home目录为/root,请使用‘pwd’命令查看填写自己的home目录
打开浏览器,输入ip和端口, 可以看到‘Hello World’了
二、拷贝配置
启动好了,现在需要配置Nginx
$ cd ~/Nginx
$ docker container cp mynginx:/etc/nginx .
$ mv nginx conf
上面命令的含义是,把mynginx容器的/etc/nginx拷贝到当前目录。不要漏掉最后那个点。
现在可以把容器终止了。
$ docker container stop mynginx
添加配置映射
$ docker container run \
-d \
-p 0.0.0.0:80:80 \
--rm \
--name mynginx \
--volume "/root/Nginx/html":/usr/share/nginx/html \
--volume "/root/Nginx/conf":/etc/nginx \
nginx
添加了一行映射关系--volume "/root/Nginx/conf":/etc/nginx
的意思是把/root/Nginx/conf
目录映射为容器的/etc/nginx
目录
打开浏览器,输入ip和端口,能正常访问,说明配置一切正常
现在可以把容器终止了。
$ docker container stop mynginx
三、配置Nginx下载目录
创建用于存放的下载目录download,顺便向download目录里添加一些文件用于测试
$ cd ~/Nginx
$ mkdir download
进入配置目录,编辑default.conf文件
$ cd ~/Nginx/conf/conf.d
$ vim default.conf
在文件后添加如下配置
location /download { #页面访问的地址
alias /usr/share/nginx/download;
autoindex on; # 开启索引功能
autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; # 显示本机时间而非 GMT 时间
}
保存退出,创建新的目录映射
$ docker container run \
-d \
-p 0.0.0.0:80:80 \
--rm \
--name mynginx \
--volume "/root/Nginx/html":/usr/share/nginx/html \
--volume "/root/Nginx/download":/usr/share/nginx/download \
--volume "/root/Nginx/conf":/etc/nginx \
nginx
打开浏览器,输入新的地址http://127.0.0.1/download/
可以看到如下界面,搭建成功