docker运行nginx
1、去docker hub 搜索nginx镜像
docker pull nginx:1.19.10
2、运行nginx
启动nginx,并映射端口
docker run -p 80:80 nginx:1.19.10
启动nginx,映射端口,后台启动,总是启动,指定名称
docker run -p 80:80 -d --restart=always --name nginx nginx:1.19.10
启动nginx,映射端口,后台启动,总是启动,指定名称,指定nginx配置文件启动, -v(容器 /etc/nginx/nginx.conf)
a、实现反向代理,负载均衡
1、需要现将nginx.conf文件拷贝一份到宿主机,不然启动会报错。然后可以对配置文件进行修改
docker exec -it 容器id bash (进入容器)
find / -name nginx.conf (找到容器里边的nginx配置文件在哪里) /etc/nginx/nginx.conf
docker cp d8d13e1fec58:/etc/nginx/nginx.conf /home 将容器里边的nginx配置文件复制到宿主机
2、启动
docker run -p 80:80 -d --restart=always --name nginx -v /home/nginx.conf:/etc/nginx/nginx.conf nginx:1.19.10
b、nginx服务器 (很多前端系统会直接部署到nginx上边)
1、需要找到容器里边的index.html 进行挂载
docker exec -it 容器id bash (进入容器)
find / -name index.html (找到容器里边的nginx配置文件在哪里) /usr/share/nginx/html
2、启动
docker run -p 80:80 -d --restart=always --name nginx -v /home/html:/usr/share/nginx/html nginx:1.19.10
会自动创建一个html文件夹到home里边,然后对home里边的html进行修改就会同步.
部署前端的话,直接将项目打包之后的dist文件内容拖到 /home/html 即可部署成功
3、如果又想nginx当作服务器,又想负载均衡的话,-v 绑定多个挂载路径就行
docker run -p 80:80 -d --restart=always --name nginx -v /home/html:/usr/share/nginx/html -v /home/nginx.conf:/etc/nginx/nginx.conf nginx:1.19.10