(1)拉取nginx镜像
docker pull nginx
(2)创建容器
先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用
#启动一个容器
docker run -d --name nginx nginx
# 查看 容器 获取容器ID 或直接使用名字
docker container ls
# 在当前目录下创建目录:conf、 html 、 logs
cd /home && mkdir conf && cd ./conf && mkdir html && mkdir logs
# 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录($PWD 当前全路径)
docker cp nginx:/etc/nginx/nginx.conf /home/conf
docker cp nginx:/etc/nginx/conf.d /home/conf
# 停止容器
docker container stop nginx
# 删除容器
docker container rm nginx
(3)部署容器 (直接复制即可)
docker run -d -p 80:80 -p 443:443 --name mynginx -v /home/conf/html:/usr/share/nginx/html -v /home/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/conf/conf.d:/etc/nginx/conf.d -v /home/conf/logs:/var/log/nginx nginx
(3)查看日志
docker logs -f mynginx
(4)进入系统
docker exec -it mynginx bin/bash
(5)修改端口映射
容器的配置文件/var/lib/docker/containers/[containerId]目录下,hostconfig.json和config.v2.json 修改好之后,重启容器服务。
image.png
(6)nginx下linux命令
./nginx -s reload
./nginx -t
(7)nginx下文件上传失败
文件上传失败,可以先尝试上传8k以内的文件,看是否是nginx的问题,确定问题所在之后,可以去处理相关问题
#允许客户端请求的最大单文件字节数
client_max_body_size 10m;
#缓冲区代理缓冲用户端请求的最大字节数,
#如果把它设置为比较大的数值,例如256k,那么,无论使用firefox还是IE浏览器,来提交任意小于256k的图片,都很正常。如果注释该指令,使用默认的client_body_buffer_size设置,也就是操作系统页面大小的两倍,8k或者16k,问题就出现了。
#无论使用firefox4.0还是IE8.0,提交一个比较大,200k左右的图片,都返回500 Internal Server Error错误
client_body_buffer_size 128k;
不要以为每天把功能完成了就行了,这种思想是要不得的,互勉~!
网友评论