1. 下载安装:
- 官方文档:https://hub.docker.com/_/nginx
- 下载镜像:
docker pull ngin:1.21
- nginx默认使用80端口;
2. 容器内文件路径详解:
- nginx的配置文件是nginx.conf,容器内的路径是:/etc/nginx/nginx.conf;
- 内静态文件夹默认的路径是:/usr/share/nginx/html;
- 日志文件的路径是:/var/log/nginx,里面有两个文件,access.log和error.log;
- 缓存文件的路径是:/var/cache/nginx;
- 从nginx1.19开始,有一个新的配置文件,叫配置模板,这个配置模板会在nginx启动前提取环境变量,这个配置模板的默认路径是:/etc/nginx/templates/default.conf.template,如果配置了默认文件,nginx将会把这个配置文件输出到:/etc/nginx/conf.d/default.conf;
- 最终default.conf会被加载到nginx.conf中,在nginx.conf中最后有一句话:include /etc/nginx/conf.d/*.conf;这个功能只有在docker版本下有,windows下面没有;
3. 容器操作
- 创建一个容器,nginx默认使用80端口,容器内静态文件默认的地址是/usr/share/nginx/html:
docker run --name nginx01 -p 80:80 -v /home/docker/nginx/html:/usr/share/nginx/html:ro -d nginx:1.2
卷映射之后加了一个:ro,意思是只读 - 也可以编写一个dockerfile,将自己的静态文件拷贝到/usr/share/nginx/html,然后生成一个新的镜像,static-html-directory是您的一个静态文件夹;
FROM nginx COPY static-html-directory /usr/share/nginx/html
- nginx的配置文件是nginx.conf,位置是/etc/nginx/nginx.conf,如果需要更新配置,可以修改这个文件,然后制作一个新的image;
制作一个新的Dockerfile:$ docker run --name tmp-nginx-container -d nginx $ docker cp nginx01:/etc/nginx/nginx.conf /host/path/nginx.conf $ docker rm -f tmp-nginx-container
制作一个新的image:FROM nginx COPY nginx.conf /etc/nginx/nginx.conf
或者使用卷映射:docker build -t nginxv10:v1.0 . 或者基于原来的容器重新创建一个新的镜像 docker commit -a "quxianglin" -m "修改nginx.conf文件,映射不同的接口到不同的容器" 原容器name 新镜像name:v1.0
docker run --name nginx02 -p 80:80 -v /home/docker/nginx/nginx-cache:/var/cache/nginx -v /home/docker/nginx/log:/var/log/nginx -d nginxv10:v1.0