Home  >  Article  >  Operation and Maintenance  >  How to use Nginx proxy Partainer

How to use Nginx proxy Partainer

WBOY
WBOYforward
2023-05-17 17:04:061276browse

主要目的用于通过nginx可以代理 Partainer服务,通过nginx进行统一转发

1. 启动nginx

启动nginx,挂载整个nginx的配置路径,具体的nginx配置可以百度

docker run -p 80:80 -name nginx --restart=always -v nginx/:/etc/nginx -d nginx

修改配置路径下面的 conf.d/default.conf

upstream docker {
	// portainer 容器的名称,如果不配置这个 nginx会 no resolver defined to resolve portainer 的问题
    server portainer:9000;
}
server {
	//追加下面的路径,一定要使用正则进行匹配,因为portainer访问时的重定向路径会是 /docker/api/xxx/xxx 的路径,所以,如果出现重定向的地址也需要进行匹配
	location ~ "^/docker(/?.*)" {
        proxy_pass http://docker$1$is_args$args;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

2. 启动portainer

这里只需要开启 9000端口,只需要挂载宿主机中的docker文件到虚拟机中即可,挂载的数据卷可以百度

docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

3. 创建网络

如果需要容器之间通过容器名称就可以进行访问,那么需要让容器在同一个网络当中,下面就是创建一个网络使用 bridge 具体网络类型区别也可以百度详细

docker network create -d bridge nginx_network #创建网络

将启动的容器连接到网络中,然后重启两个容器

docker network connect nginx_network portainer
docker network connect nginx_network nginx

可以进入 nginx容器中,通过 curl portainer:9000 查看能否请求到;访问页面

How to use Nginx proxy Partainer

The above is the detailed content of How to use Nginx proxy Partainer. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete