linuxer
发布于 2023-08-16 / 11 阅读
0
0

Nginx Proxy Manager 简单部署 安装 Docker,Docker-compose. Podman

Nginx Proxy Manager 简单部署 安装 Docker,Docker-compose. Podman

1.创建一个docker-compose.yml文件:

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # 这些端口的格式为<主机端口>:<容器端口>
      - '80:80' # 公共HTTP端口
      - '443:443' # 公共HTTPS端口
      - '81:81' # 管理员Web端口
      # 添加您想要公开的其他流端口
      # - '21:21' # FTP

    # 如果取消注释以下行,则取消注释部分
    # environment:
      # 如果要更改容器内SQLite数据库文件的位置,请取消注释此行
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # 如果您的主机上未启用IPv6,请取消注释此行
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

这定义了使用指定Docker镜像的Nginx Proxy Manager服务。它将主机端口80、443和81映射到容器端口,为数据和SSL证书设置了卷。

步骤2:运行应用

导航到包含docker-compose.yml文件的目录,然后运行:

docker-compose up -d

此命令以分离模式启动Nginx Proxy Manager容器。

Podman 安装

podman run -d --name nginx-proxy-manager -p 80:80 -p 443:443 -p 81:81 -v /path/to/appdata:/data jc21/nginx-proxy-manager:latest

记得改成你自己宿主的路径/path/to/appdata

PS:如果出现错误 是不是镜像没有被正确解析到可用的容器注册表中。

查容器注册表配置: 确保你的容器工具(如 Podman)配置中包含了可用的注册表。查看文件 /etc/containers/registries.conf,确保其中至少包含了一个可用的容器注册表。

你可以在 /etc/containers/registries.conf 文件中添加类似以下内容

[registries.search]
registries = ['docker.io', 'quay.io']

步骤3:使用MySQL/MariaDB数据库

如果要使用MySQL或MariaDB作为数据库后端,可以将docker-compose.yml文件修改如下:

version: '3.8'
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:
      # Mysql/Maria connection parameters:
      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:
      - ./mysql:/var/lib/mysql

这在Nginx Proxy Manager容器旁边设置了一个MariaDB容器。它配置了必要的数据库连接环境变量。

步骤4:在Raspberry Pi / ARM设备上运行

这些说明已经适用于不同的体系结构,包括Raspberry Pi。

步骤5:初始运行

第一次运行后,将生成GPG密钥,初始化数据库,并创建默认的管理员用户。

步骤6:默认管理员用户

您可以使用以下默认凭据登录到Nginx Proxy Manager Web界面:

mail:admin@example.com

password:changeme

请在登录后立即更改此密码。

在执行这些步骤之前,请确保在您的系统上安装了Docker和Docker Compose。这些说明提供了一个总体概述,您应根据您特定的环境和要求进行调整。


评论