这是官网的一段话: This project comes as a pre-built docker image that enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.
该项目作为一个预构建的 docker 镜像提供,使您能够轻松地转发到在家里或其他地方运行的网站,包括免费的 SSL,而无需对 Nginx 或 Letsencrypt 有太多了解。
说白了,就是可以通过这个工具更简单方便的配置反向代理的配置及SSL证书的设置。

新建一个目录存放Nginx Proxy Manager的配置和项目文件
mkdir ngingx_proxy_manager && cd ngingx_proxy_manager新建docker-compose.yml文件并复制以下内容
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysqldocker-compose up -d可以通过控制台或者宝塔面板亦或者命令行
# 查看防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
#查看是否放行了81端口
firewall-cmd --query-port=81/tcp
#放行81端口
firewall-cmd --zone=public --add-port=81/tcp --permanent
#刷新生效
firewall-cmd --reload通过http://你的服务器ip:81访问web管理界面
默认账号密码为
Email: admin@example.com
Password: changeme在输入账号密码进入后,会强制要求修改账号密码,然后就可以进行我们的配置了。