在docker下安装nginx实现反向代理宿主机请求

下载官方镜像

搜索 Nginx 镜像列表

|
1

|

docker search nginx

|

Mac下使用Docker安装Nginx

拉取 Nginx 官方镜像:

docker pull nginx

|
1

|

docker pull nginx

|

查看本地已经安装的镜像,如果有我们刚拉取的镜像:

docker images

|
1

|

docker images

|

拷贝 Nginx 配置

在宿主机创建用于存放 Nginx 配置文件和站点的目录。

/Users/feng/Documents/Kitematic 目录是我本机用于存放 Nginx 相关配置的目录,也是 Mac 下 Kitematic 默认的容器配置映射目录,方便统一管理 Docker 容器。

我们先在 Kitematic 目录下新建 nginx 目录,并在 nginx 目录下创建 conf.d 目录。

然后创建 Nginx 临时容器,用于拷贝所需配置文件:

docker run –name tmp-nginx-container -d nginx

拷贝 Nginx 配置文件:

docker cp tmp-nginx-container:/etc/nginx/nginx.conf /Users/nxw/Documents/Kitematic/nginx/nginx.conf

拷贝站点配置文件:

docker cp tmp-nginx-container:/etc/nginx/conf.d/default.conf /Users/nxw/Documents/Kitematic/nginx/conf.d/default.conf

删除 Nginx 临时容器:

docker rm -f tmp-nginx-container

创建 Nginx 容器

创建 Nginx 容器,并映射 Nginx 配置文件站点配置文件目录网站根目录

docker run –name nginx -p 80:80 -v /Users/nxw/Documents/Kitematic/nginx/nginx.conf:/etc/nginx/nginx.conf -v /Users/nxw/Documents/Kitematic/nginx/conf.d:/etc/nginx/conf.d -d nginx

此步骤的操作是为了将docker 的文件夹挂在到宿主机方便修改

至此,安装 Nginx 容器完成。

配置文件修改

修改上面复制得到的default.conf 为

server { listen 80; server_name inte-commonpay.chanapp.chanjet.com; location /api/ {

proxy_pass http://docker.for.mac.host.internal:8080;

} }

此处的代理的ip为宿主机的ip,既本机对于docker容器的ip,

在linux下查看方式 为ifconfig 查看docker0的ip,

mac下的docker有加一层虚拟机,所以无法直接访问,需要使用docker.for.mac.host.internal

win下ipconfig 的 DockerNAT的ip就是宿主机ip

本博客是基于mac搭建的 但是在linux和win同样好使

原文链接:https://blog.csdn.net/weixin_42161936/article/details/119920035

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享