Spaces:
Runtime error
Runtime error
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,171 +1,9 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
## ❤️ 特别感谢
|
| 12 |
-
|
| 13 |
-
- [dph5199278/docker-1panel](https://github.com/dph5199278/docker-1panel):提供了在 Docker 容器中运行 1Panel 的初步思路与安装方式。
|
| 14 |
-
- [Xeath/1panel-in-docker](https://github.com/Xeath/1panel-in-docker):提供了运行 1Panel V2 所需的 Docker 服务伪装脚本,解决了 1Panel 在容器中对 Docker 环境的依赖。
|
| 15 |
-
- [gdraheim/docker-systemctl-replacement](https://github.com/gdraheim/docker-systemctl-replacement):提供了在 Docker 容器内部使用 systemctl 模拟脚本的实现。
|
| 16 |
-
|
| 17 |
-
## 📝 环境变量
|
| 18 |
-
|
| 19 |
-
- `TZ`:时区(默认:`Asia/Shanghai`)
|
| 20 |
-
- `LANGUAGE`:面板语言(可选:`en`、`fa`、`pt-BR`、`ru`、`zh`,默认:`zh`)
|
| 21 |
-
- `INSTALL_MODE`:安装模式(可选:`stable`、`beta`、`dev`,默认:`stable`)
|
| 22 |
-
- `VERSION`:版本号(可手动指定特定版本号,默认:在线获取最新稳定版本)
|
| 23 |
-
- `PANEL_BASE_DIR`:安装目录(默认:`/opt`)
|
| 24 |
-
- `PANEL_PORT`:面板端口(默认:`9999`)
|
| 25 |
-
- `PANEL_ENTRANCE`:安全入口(默认:`entrance`)
|
| 26 |
-
- `PANEL_USERNAME`:面板用户(默认:`1panel`)
|
| 27 |
-
- `PANEL_PASSWORD`:面板密码(默认:`1panel_password`)
|
| 28 |
-
|
| 29 |
-
## 📂 挂载目录
|
| 30 |
-
|
| 31 |
-
- **Docker 进程套接字(不可修改)**
|
| 32 |
-
|
| 33 |
-
`/var/run/docker.sock:/var/run/docker.sock`
|
| 34 |
-
|
| 35 |
-
允许容器内的 1Panel 直接与宿主机的 Docker 守护进程通信,管理宿主机上的 Docker 容器。
|
| 36 |
-
|
| 37 |
-
- **1Panel 数据及应用安装目录(重要)**
|
| 38 |
-
|
| 39 |
-
`/path/to/your/data:/path/to/your/data`(示例,**请务必替换为您的实际路径**)
|
| 40 |
-
|
| 41 |
-
此目录用于持久化存储 1Panel 的配置、数据以及通过它安装的所有应用。
|
| 42 |
-
|
| 43 |
-
**为保证所有应用正常工作,宿主机路径和容器内路径必须保持一致**。原因是 1Panel 安装应用时,会基于容器内的路径(由 `PANEL_BASE_DIR` 定义)来为应用创建数据卷。如果内外路径不匹配,1Panel 本身可能正常运行,但其创建的应用将因找不到正确的数据目录而启动失败。
|
| 44 |
-
|
| 45 |
-
您可以选择直接挂载 `PANEL_BASE_DIR` 指定的目录,或其任何一级父目录,前提是 -v 参数冒号前后的路径必须完全相同**。例如,如果 `PANEL_BASE_DIR` 是 `/path/to/your/data`,那么 `-v /path/to/your/data:/path/to/your/data` 和 `-v /path:/path` 都是有效的配置。
|
| 46 |
-
|
| 47 |
-
## 🐳 部署方式
|
| 48 |
-
|
| 49 |
-
### Docker CLI 部署示例
|
| 50 |
-
|
| 51 |
-
1. **准备 Docker 镜像**
|
| 52 |
-
|
| 53 |
-
您可以使用 GitHub Container Registry 上的最新版预构建 Docker 镜像:`ghcr.io/purainity/docker-1panel-v2:latest`,也可以在本地构建镜像。
|
| 54 |
-
|
| 55 |
-
如需在本地构建 Docker 镜像,请将本仓库中的所有文件复制到同一目录下,`cd` 进入该目录后执行以下命令。您可以根据需要修改镜像名 `docker-1panel-v2`。
|
| 56 |
-
|
| 57 |
-
```bash
|
| 58 |
-
docker build -t docker-1panel-v2 .
|
| 59 |
-
```
|
| 60 |
-
|
| 61 |
-
2. **运行 Docker 容器**
|
| 62 |
-
|
| 63 |
-
使用以下命令运行 1Panel 容器。**请务必根据您的实际需求修改配置参数**。以下示例使用 ghcr 上的最新预构建镜像,容器名称为 `1panel`,1Panel 数据目录为 `/path/to/your/data`,面板端口 `9999`,安全入口 `entrance`,面板用户 `1panel`,面板密码 `1panel_password`,并自动下载最新稳定版。
|
| 64 |
-
|
| 65 |
-
使用 `--network host` 可以避免额外的端口映射配置,使 1Panel 直接监听宿主机的端口。
|
| 66 |
-
|
| 67 |
-
使用 `--restart unless-stopped` 可以使 1Panel 容器在异常退出时自动重启。
|
| 68 |
-
|
| 69 |
-
```bash
|
| 70 |
-
docker run -d \
|
| 71 |
-
--name 1panel \
|
| 72 |
-
--network host \
|
| 73 |
-
--restart unless-stopped \
|
| 74 |
-
-v /var/run/docker.sock:/var/run/docker.sock \
|
| 75 |
-
-v /path/to/your/data:/path/to/your/data \
|
| 76 |
-
-e PANEL_BASE_DIR=/path/to/your/data \
|
| 77 |
-
-e PANEL_PORT=9999 \
|
| 78 |
-
-e PANEL_ENTRANCE=entrance \
|
| 79 |
-
-e PANEL_USERNAME=1panel \
|
| 80 |
-
-e PANEL_PASSWORD=1panel_password \
|
| 81 |
-
ghcr.io/purainity/docker-1panel-v2:latest
|
| 82 |
-
```
|
| 83 |
-
|
| 84 |
-
3. **访问 1Panel**
|
| 85 |
-
|
| 86 |
-
1Panel 安装完成后,您可以通过 `http://您的宿主机IP:面板端口/安全入口` 访问 1Panel 面板,并使用您在环境变量中设置的用户和密码登录。
|
| 87 |
-
|
| 88 |
-
### Docker Compose 部署示例
|
| 89 |
-
|
| 90 |
-
1. **创建 `docker-compose.yml` 文件**
|
| 91 |
-
|
| 92 |
-
在项目根目录下创建一个名为 `docker-compose.yml` 的文件,内容如下。**请务必根据您的实际需求修改配置参数**。
|
| 93 |
-
|
| 94 |
-
```yaml
|
| 95 |
-
version: '3.8'
|
| 96 |
-
|
| 97 |
-
services:
|
| 98 |
-
1panel:
|
| 99 |
-
# 如果使用 ghcr 上的最新版预构建镜像
|
| 100 |
-
image: ghcr.io/purainity/docker-1panel-v2:latest
|
| 101 |
-
# 如果使用当前目录的 Dockerfile 本地构建镜像,请取消注释下一行,并注释上一行
|
| 102 |
-
# build: .
|
| 103 |
-
container_name: 1panel # 容器名称
|
| 104 |
-
network_mode: host # 使用宿主机网络
|
| 105 |
-
volumes:
|
| 106 |
-
- /var/run/docker.sock:/var/run/docker.sock # 挂载 Docker 套接字
|
| 107 |
-
- /path/to/your/data:/path/to/your/data # 挂载 1Panel 数据目录,请确保宿主机路径和容器内路径一致
|
| 108 |
-
environment:
|
| 109 |
-
TZ: Asia/Shanghai # 时区
|
| 110 |
-
LANGUAGE: zh # 面板语言
|
| 111 |
-
PANEL_BASE_DIR: /path/to/your/data # 安装目录
|
| 112 |
-
PANEL_PORT: 9999 # 面板端口
|
| 113 |
-
PANEL_ENTRANCE: entrance # 安全入口
|
| 114 |
-
PANEL_USERNAME: 1panel # 面板用户
|
| 115 |
-
PANEL_PASSWORD: 1panel_password # 面板密码
|
| 116 |
-
restart: unless-stopped # 容器退出时自动重启,除非手动停止
|
| 117 |
-
```
|
| 118 |
-
|
| 119 |
-
2. **部署服务**
|
| 120 |
-
|
| 121 |
-
在 `docker-compose.yml` 文件所在的目录下,执行以下命令构建镜像并启动服务。
|
| 122 |
-
|
| 123 |
-
```bash
|
| 124 |
-
docker compose up -d --build
|
| 125 |
-
```
|
| 126 |
-
|
| 127 |
-
(如果您的系统使用的是旧版 docker-compose,请使用 `docker-compose up -d --build`)
|
| 128 |
-
|
| 129 |
-
3. **访问 1Panel**
|
| 130 |
-
|
| 131 |
-
1Panel 安装完成后,您可以通过 `http://您的宿主机IP:面板端口/安全入口` 访问 1Panel 面板,并使用您在环境变量中设置的用户和密码登录。
|
| 132 |
-
|
| 133 |
-
## ❓ 常见问题
|
| 134 |
-
|
| 135 |
-
1. **运行容器后无法进入网页面板?**
|
| 136 |
-
|
| 137 |
-
请使用以下命令查看容器日志,注意将容器名 `1panel` 修改为您的实际容器名称。
|
| 138 |
-
|
| 139 |
-
```bash
|
| 140 |
-
docker logs -f 1panel
|
| 141 |
-
```
|
| 142 |
-
|
| 143 |
-
如果日志中未出现 `[INFO] listen at http://0.0.0.0:面板端口 [tcp4]`,则说明 1Panel 还未启动,请耐心等待。如果重启容器后仍无法访问,请检查是否使用了 `host` 网络模式,若否,请检查是否正确配置了端口映射。
|
| 144 |
-
|
| 145 |
-
2. **网页面板出现 `请求错误,请检查该节点状态: stat /etc/1panel/agent.sock: no such file or directory` ?**
|
| 146 |
-
|
| 147 |
-
这是 `1panel-agent` 服务还未完全启动。请耐心等待几秒钟后刷新网页即可。若长时间这样,请尝试重启容器。
|
| 148 |
-
|
| 149 |
-
3. **1Panel 安装完成后,如何修改安全入口、面板用户、面板密码等设置?**
|
| 150 |
-
|
| 151 |
-
环境变量中的设置仅在首次安装 1Panel 时有效。如果需要在安装完成后修改这些设置,请通过 1Panel 的网页面板进行操作。
|
| 152 |
-
|
| 153 |
-
4. **如何更换 1Panel 版本?**
|
| 154 |
-
|
| 155 |
-
环境变量中的设置仅在首次安装 1Panel 时有效。对于常规升级,您可直接在 1Panel 的网页面板中进行在线更新。若需进行版本切换(如降级、或在 `stable` 与 `dev` 等通道间切换),则需要重建容器。请确保 1Panel 数据目录已正确持久化到宿主机,然后停止并删除旧容器,最后使用原部署命令,修改 `INSTALL_MODE` 或 `VERSION` 环境变量后重新创建容器。
|
| 156 |
-
|
| 157 |
-
5. **如何使用 1pctl 命令行操作?**
|
| 158 |
-
|
| 159 |
-
请先使用以下命令进入容器内部 Bash 终端,然后输入 `1pctl` 即可操作,注意将容器名 `1panel` 修改为您的实际容器名称。
|
| 160 |
-
|
| 161 |
-
```bash
|
| 162 |
-
docker exec -it 1panel bash
|
| 163 |
-
```
|
| 164 |
-
|
| 165 |
-
6. **能否不设置安全入口?**
|
| 166 |
-
|
| 167 |
-
首次安装时必须设置安全入口。如果您想关闭安全入口,请在 1Panel 安装完成后,进入网页面板进行关闭操作。**请勿手动将 `PANEL_ENTRANCE` 环境变量设置为空字符串,这会导致安装完成后 1Panel 无法启动!**
|
| 168 |
-
|
| 169 |
-
7. **为什么不在镜像构建阶段就安装好 1Panel,而是在运行容器时才安装?这是否违背了 Docker 的不变性原则?**
|
| 170 |
-
|
| 171 |
-
1Panel 版本更新频繁,本项目旨在提供一个通用的容器化运行环境,而非固化特定版本。采用运行时安装的方式,可以避免频繁构建容器镜像,并允许用户通过 `INSTALL_MODE` 和 `VERSION` 环境变量灵活指定需要安装的 1Panel 版本。
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: DebugPort
|
| 3 |
+
emoji: 🌍
|
| 4 |
+
colorFrom: gray
|
| 5 |
+
colorTo: red
|
| 6 |
+
sdk: docker
|
| 7 |
+
app_port: 10086
|
| 8 |
+
pinned: false
|
| 9 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|