使用Docker安装nginx容器(实战可用)

(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;

不要以为每天把功能完成了就行了,这种思想是要不得的,互勉~!

你可能感兴趣的:(使用Docker安装nginx容器(实战可用))