docker nginx 教程
nginx

一、下载安装

docker pull nginx

二、windows

在windows下如果需要挂载宿主机文件,则需要启动docker的文件分享功能

2.1、挂载docker的盘符

2.2、执行下以下命令安装依赖

docker run --rm -v e:/docker_file:/data alpine ls /data

其中e:/docker_file 为你需要分享的文件夹路径

三、启动nginx

3.1、普通启动

docker run -p 16800:80 --name nginx-test -v e:/docker_file/html/:/usr/nginx/html -d nginx

-d ==> 后台启动容器
-p 16800:80 ==> 将主机的16800端口映射到容器的80端口
-v e:/docker_file/html:/usr/nginx/html/ ==> 把宿主机的项目e:/docker_file/html挂载到容器的/usr/nginx/html目录下
命令启动成功后
nginx 为docker 镜像

使用命令,便能看到启动的nginx了

docker ps -a

启动成功

3.2、加载自定义的nginx配置

docker run -p 16800:80 --name nginx-test \
-v e:/docker_file/logs:/var/log/nginx \
-v e:/docker_file/html:/usr/nginx/html \
-v e:/docker_file/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v e:/docker_file/nginx/conf.d:/etc/nginx/conf.d \
-d nginx

-v e:/docker_file/logs:/var/log/nginx ==> nginx日志将保存在e:/docker_file/logs目录下
-v e:/docker_file/html:/etc/nginx/html ==> 把宿主机的项目e:/docker_file/html挂载到容器的/etc/nginx/html目录下
-v e:/docker_file/nginx/nginx.conf:/etc/nginx/nginx.conf:ro ==> 把宿主机nginx的主配置e:/docker_file/nginx/nginx.conf挂载到容器/etc/nginx/nginx.conf
-v e:/docker_file/nginx/conf.d:/etc/nginx/conf.d nginx ==> 把宿主机的子配置目录e:/docker_file/nginx/conf.d挂载到容器的/etc/nginx/conf.d
自定义配置完成

3.3、如果希望进入linux容器

docker exec -it 容器别名\容器id bash


这样就可以进入容器查看配置了

3.4、注意事项:

-v的挂载只是相当于把相关文件映射到容器的目录下,容器中nginx的运行,使用的是容器的中的路径,也就意味着nginx的配置的路径必须是容器中的路径

如上所示,配置文件中

include /etc/nginx/conf.d/*.conf;

使用的是 /etc/nginx/conf.d 这个目录,那么,就必须将子配置文件挂载到这个目录下,所以上面命令的第四个-v命令使用的就应该是/etc/nginx/conf.d这个目录
也就是说在配置中使用哪个目录,运行nginx时就应该指向哪个路径

注意:
更新nginx配置:以后修改宿主机的nginx配置,只需要docker restart 容器id\名就可以更新状态了
项目更新:只需要更新项目文件就行了