目录

通过docker-compose部署Nginx Proxy Manager并进行简单配置

分享通过通过docker-compose部署Nginx Proxy Manager并进行简单配置的方法。

1 创建文件夹

我们在自己习惯的地方,创建一个文件夹放置nginx-proxy-manager的映射文件。

mkdir npm

进入这个文件文件夹

cd npm

2 创建docker-compose.yml文件

我们创建一个docker-compose.yml文件

sudo nano docker-compose.yml

文件中放入如下内容

version: '3.8'
services:
  nginxpm:
    image: 'jc21/nginx-proxy-manager:latest'
#    image: 'chishin/nginx-proxy-manager-zh:latest'
    container_name: nginxpm
    restart: unless-stopped
#    network_mode: host
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
      - '888:888'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

3 启动容器

sudo docker-compose up -d

4 简单配置

我们访问ip:81就可以进行进行简单的配置了,默认登陆邮箱admin@example.com,默认登陆密码changeme,登陆后会要求我们修改默认邮箱和密码。

停止容器

sudo docker-compose down

删除镜像

sudo docker rmi jc21/nginx-proxy-manager:latest         #英文镜像删除命令
sudo docker rmi chishin/nginx-proxy-manager-zh:latest   #中文镜像删除命令

更新nginx-proxy-manager容器到docker-compose.yml的保存位置即npm文件夹内,先sudo docker-compose down停止容器,再删除镜像,然后启动容器sudo docker-compose up -d,nginx-proxy-manager容器即完成更新。

删除的话,只要在停止容器后删除整个npm文件夹和镜像就可以了。

5 更多配置

以下配置涉及情况:只有一个设备同时部署了多个docker容器。多个服务,ddns-go和Nginx Proxy Manager全部部署在同一个设备。

5.1 反向代理

进行反向代理前要买好域名和做好dns解析,ddns我使用docker部署的ddns-go,其它‘购买域名’和’dns解析’我也是看这个视频学习的。
1、如果只有所有的服务都部署在一台设备上,尽量使用前面一个*的泛解析域名*.你购买的域名,如*.example.com,这样我们可以不必反复进行dns解析设置,只要在Nginx Proxy Manager设置反向代理就可以了。
2、部署在同一设备上的docker容器,ip地址可设置为172.17.0.1

/posts/myblog29/1.jpg
反向代理

5.2 重定向

目标是将主域名重定向到指定的子域名,如将example.com重定向到blog.example.com实现访问主域名跳转到博客。

1、设置重定向前先要在dns提供商处将主域名解析到同一设备。

2、我们需要为主域名申请一个单独的ssl证书,如果使用泛解析域名相同证书,访问会提示证书错误,在浏览器点击忽略证书也可以,但不好,还得再点下忽略,失去重定向方便的意义了。

3、方案Scheme设置为auto,规则可以选301

/posts/myblog29/2.jpg
重定向

5.3 端口转发

端口转发是在默认端口被封的情况下实现访问

1、首先在docker-compos.yml文件添加想要转发到的端口映射,如我上方添加的888端口,然后重启容器

2、一般https访问只要用到443端口就可以了,我们只转发一个443端口,ip设置为0.0.0.0,传入端口设置为888,转发端口设置为443。

3、然后我们便可再域名后添加端口进行访问,如blog.example.com:888

/posts/myblog29/3.jpg
端口转发