通过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
5.2 重定向
目标是将主域名重定向到指定的子域名,如将example.com
重定向到blog.example.com
实现访问主域名跳转到博客。
1、设置重定向前先要在dns提供商处将主域名解析到同一设备。
2、我们需要为主域名申请一个单独的ssl证书,如果使用泛解析域名相同证书,访问会提示证书错误,在浏览器点击忽略证书也可以,但不好,还得再点下忽略,失去重定向方便的意义了。
3、方案Scheme
设置为auto
,规则可以选301
5.3 端口转发
端口转发是在默认端口被封的情况下实现访问
1、首先在docker-compos.yml文件添加想要转发到的端口映射,如我上方添加的888端口,然后重启容器
2、一般https访问只要用到443端口就可以了,我们只转发一个443端口,ip设置为0.0.0.0
,传入端口设置为888,转发端口设置为443。