先贴官网https://nginxproxymanager.com/
image
用这个带数据库的
1.创建一个docker-compose.yml文件

touch docker-compose.yml

把这个复制进去
image-1674396936258
图贴错了,是下面哪个mysql的

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/mysql

用户密码就不该了(如果改,上面下面要对应上都改(db是database)),关于端口,也不建议改(大概),81是ui界面,改不改随便了,80和443是之后用来分发的,好像,建议不改
volumes是这个东西挂在哪个目录下

2.启动

docker-compose up -d 

3.查看
可以用

docker ps
docker images

来看一眼,不看也一样
image-1674396957028
image-1674396962894

4.从网站进入面板

你的ip:81

默认密码是这个,后面要自己改
image-1674397000893

Email:    admin@example.com
Password: changeme

image-1674397017153

写在最后(一些问题)

如果本来防火墙是开启的,打开ngnix后,关闭了防火墙,会有这个报错
image-1674398592070
莫慌,去创建docker-compose.yml的文件夹下,关闭ngnix

docker-compose down

重启docker

service docker restart

再启动nginx

docker-compose up -d

就没事了