
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/docker/image-size/laurazepam/arm64-nginx-proxy-manager/latest](https://hub.docker.com/repository/docker/laurazepam/arm64-nginx-proxy-manager/tags) https://img.shields.io/github/v/release/Laurazepam/arm64-nginx-proxy-manager?color=orange](https://github.com/Laurazepam/arm64-nginx-proxy-manager/releases/latest) https://img.shields.io/docker/pulls/laurazepam/arm64-nginx-proxy-manager?color=purple](https://hub.docker.com/r/laurazepam/arm64-nginx-proxy-manager) https://img.shields.io/maintenance/yes/2022]()
这是一个与arm64架构兼容的Docker容器,适用于jlesage版本的[***]
或其他arm架构的单板计算机(SBC)上运行。
注意:本快速开始中提供的Docker命令仅作为示例,参数应根据您的需求进行调整。
使用以下命令启动Nginx Proxy Manager Docker容器:
docker run -d \ --name=nginx-proxy-manager \ -p 81:81 \ -p 80:80 \ -p 443:443 \ -v /docker/nginx-proxy-manager:/config:rw \ docker.xuanyuan.run/laurazepam/arm64-nginx-proxy-manager
其中:
/docker/nginx-proxy-manager:应用程序存储其配置、日志和任何需要持久化的文件的位置。通过浏览器访问 http://您的主机IP:81 以打开Nginx Proxy Manager Web界面。
docker run [-d] \ --name=nginx-proxy-manager \ [-e <变量名>=<值>]... \ [-v <主机目录>:<容器目录>[:权限]]... \ [-p <主机端口>:<容器端口>]... \ laurazepam/arm64-nginx-proxy-manager
| 参数 | 描述 |
|---|---|
| -d | 在后台运行容器。如果未设置,容器将在前台运行。 |
| -e | 向容器传递环境变量。详情参见环境变量部分。 |
| -v | 设置卷映射(允许在主机和容器之间共享文件夹/文件)。详情参见数据卷部分。 |
| -p | 设置网络端口映射(将容器内部端口暴露给主机)。详情参见端口部分。 |
要自定义容器的某些属性,可以通过 -e 参数传递以下环境变量(每个变量一个)。该参数的值格式为 <变量名>=<值>。
| 变量 | 描述 | 默认值 |
|---|---|---|
USER_ID | 应用程序运行的用户ID。参见用户/组ID以了解何时应设置此值。 | 1000 |
GROUP_ID | 应用程序运行的组ID。参见用户/组ID以了解何时应设置此值。 | 1000 |
SUP_GROUP_IDS | 应用程序的补充组ID的逗号分隔列表。 | (未设置) |
UMASK | 控制新创建文件权限的掩码。掩码值为八进制表示。默认情况下,此变量未设置,使用默认umask 022,意味着新创建的文件对所有人可读,但仅所有者可写。参见在线umask计算器:[***] | (未设置) |
TZ | 容器的时区。也可以通过在主机和容器之间映射 /etc/localtime 来设置时区。 | Etc/UTC |
KEEP_APP_RUNNING | 当设置为 1 时,如果应用程序崩溃或用户退出,将自动重启。 | 0 |
APP_NICENESS | 应用程序运行的优先级。niceness值为-20时优先级最高,19时最低。默认情况下未设置niceness,使用默认值0。注意:负niceness(提高优先级)需要额外权限。此时,容器应使用docker选项 --cap-add=SYS_NICE 运行。 | (未设置) |
CLEAN_TMP_DIR | 当设置为 1 时,容器启动期间将删除 /tmp 目录中的所有文件。 | 1 |
DISABLE_IPV6 | 当设置为 1 时,禁用IPv6支持。当主机上未启用/不支持IPv6时需要设置。 | 0 |
下表描述了容器使用的数据卷。映射通过 -v 参数设置。每个映射格式为 <主机目录>:<容器目录>[:权限]。
| 容器路径 | 权限 | 描述 |
|---|---|---|
/config | rw | 应用程序存储其配置、日志和任何需要持久化的文件的位置。 |
以下是容器使用的端口列表。可通过 -p 参数映射到主机(每个端口映射一个)。每个映射格式为 <主机端口>:<容器端口>。容器内部的端口不能更改,但您可以自由使用主机端的任何端口。
| 端口 | 主机映射 | 描述 |
|---|---|---|
| 81 | 必须 | 用于访问应用程序Web界面的端口。 |
| 80 | 必须 | 用于提供HTTP请求的端口。 |
| 443 | 必须 | 用于提供HTTPS请求的端口。 |
如前所述,环境变量、卷和端口映射都是在创建容器时指定的。
以下步骤描述了添加、删除或更新现有容器参数的方法。总体思路是销毁并重新创建容器:
docker stop nginx-proxy-manager
docker rm nginx-proxy-manager
docker run 命令创建/启动容器,根据需要调整参数。注意:由于所有应用程序数据都保存在 /config 容器文件夹下,销毁和重新创建容器不会有问题:不会丢失任何数据,应用程序将恢复到相同状态(只要 /config 文件夹的映射保持不变)。
以下是可与https://docs.docker.com/compose/overview/%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%E7%9A%84 docker-compose.yml 文件示例。
确保根据您的需求进行调整。注意示例中仅包含必要的网络端口。
yamlversion: '3' services: nginx-proxy-manager: image: docker.xuanyuan.run/laurazepam/arm64-nginx-proxy-manager ports: - "81:81" - "80:80" - "443:443" volumes: - "/docker/nginx-proxy-manager:/config:rw"
由于功能添加、问题修复或容器化应用程序新版本的集成,Docker镜像会定期更新。可以使用不同的方法更新Docker镜像。
运行容器的系统可能有内置的容器更新方式。如果是这样,这可能是您更新Docker镜像的主要方式。
另一种方法是使用https://github.com/containrrr/watchtower自动更新镜像。Watchtower是一个基于容器的Docker镜像自动更新解决方案。这是一种"设置后无需干预"的解决方案:一旦有新镜像可用,Watchtower将无缝执行更新容器所需的步骤。
最后,可以通过以下步骤手动更新Docker镜像:
docker pull docker.xuanyuan.run/laurazepam/arm64-nginx-proxy-manager
docker stop nginx-proxy-manager
docker rm nginx-proxy-manager
docker run 命令创建并启动容器,使用最初部署时相同的参数。使用数据卷(-v 标志)时,主机和容器之间可能会出现权限问题。例如,容器内的用户可能在主机上不存在。这可能会阻止主机正确访问共享卷上的文件和文件夹。
为避免任何问题,您可以指定应用程序应运行的用户。
这通过将用户ID和组ID通过 USER_ID 和 GROUP_ID 环境变量传递给容器来实现。
要找到要使用的正确ID,请在主机上使用拥有主机数据卷的用户执行以下命令:
id <用户名>
输出如下所示:
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),24(cdrom),27(sudo),46(plugdev),113(lpadmin)
uid(用户ID)和 gid(组ID)的值是您应该提供给容器的ID。
假设容器的端口映射到主机的相同端口,可以通过Web浏览器访问应用程序界面:
http://<主机IP地址>:81
要获取运行中容器的shell访问权限,执行以下命令:
docker exec -ti CONTAINER sh
其中 CONTAINER 是创建容器时使用的ID或名称(例如 nginx-proxy-manager)。
全新安装后,使用以下凭据登录:
admin@example.comchangeme使用此默认用户登录后,系统会要求您修改个人详细信息并更改密码。
注意:本节假设容器使用默认的 bridge 网络类型。
要使此容器可从互联网访问,必须在路由器上配置端口转发。这允许来自互联网的HTTP(端口80)和HTTPS(端口443)流量到达您私有网络上的此容器。
不同路由器的端口转发配置有所不同,但通常需要配置相同的信息:
要转发到的IP地址应是运行容器的主机的IP地址。要转发到的端口应是创建容器时映射到容器的端口(通过 docker run 命令的 -p 参数)。
由于容器需要处理HTTP和HTTPS流量,需要转发两个端口:
| 流量类型 | 容器端口 | 映射到容器的主机端口 | 外部端口 | 内部端口 | 内部IP地址 |
|---|---|---|---|---|---|
| HTTP | 80 | XXXX | 80 | XXXX | 运行容器的主机的IP地址。 |
| HTTPS | 443 | YYYY | 443 | YYYY | 运行容器的主机的IP地址。 |
XXXX 和 YYYY 是可配置的端口值。除非与主机上其他使用的端口冲突,否则它们可以简单地设置为与容器端口相同的值。
注意:某些路由器不提供配置要转发到的内部端口的功能。这意味着内部端口与外部端口相同。在这种情况下,XXXX 必须设置为 80,YYYY 必须设置为 443。
有关端口转发的更多详细信息,请参见以下链接:
可以使用以下命令将用户密码重置为 changeme:
docker exec 容器名称 /opt/nginx-proxy-manager/bin/reset-password 用户邮箱
其中:
容器名称 是运行中容器的名称。用户邮箱 是要重置密码的用户的电子邮件地址。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务