前言
因为前后端分离项目跨域问题无法完美解决(预检请求解决不了,菜鸟一枚,还不会通过调试寻求解决方法)就想试试通过Nginx来解决跨域
Nginx docker镜像仓库:https://registry.hub.docker.com/_/nginx
搜索镜像
docker search nginx
获取镜像版本号
curl https://registry.hub.docker.com/v1/repositories/nginx/tags\
| tr -d '[\[\]" ]' | tr '}' '\n'\
| awk -F: -v image='nginx' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
拉取镜像
//不加版本号默认拉取最新
docker pull nginx:1.20.2
创建nginx容器
docker run -d --name mynginx -p 80:80 xxxxxx
访问测试
挂载配置文件
// 本地创建管理目录
mkdir -p /etc/nginx
mkdir -p /etc/nginx/www
mkdir -p /etc/nginx/conf
mkdir -p /etc/nginx/logs
//复制docker中的相关文件复制到宿主机上
docker cp xxxx:/etc/nginx/nginx.conf /etc/nginx/
docker cp xxxx:/etc/nginx/conf.d /etc/nginx/conf/
docker cp xxxx:/usr/share/nginx/html/ /etc/nginx/www/
docker cp xxxx:/var/log/nginx/ /etc/nginx/logs/
停止并移除容器
docker stop xxxx
docker rm xxxx
启动容器并挂载目录
docker run --name mynginx -p 80:80 \
-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /etc/nginx/www/:/usr/share/nginx/html/ \
-v /etc/nginx/logs/:/var/log/nginx/ \
-v /etc/nginx/conf/:/etc/nginx/conf.d \
--privileged=true -d nginx