Skip to content

Commit 438f54a

Browse files
authored
Merge pull request #126 from CJackHwang/dev
更新文档,docker
2 parents d51a17c + fe3656c commit 438f54a

3 files changed

Lines changed: 192 additions & 77 deletions

File tree

README-Docker.md

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
# Docker 部署教程 (freegoogleapi)
1+
# Docker 部署教程 (AI Studio Proxy API)
22

3-
本文档提供了使用 Docker 构建和运行 `freegoogleapi` 项目的详细步骤。
3+
本文档提供了使用 Docker 构建和运行 AI Studio Proxy API 项目的详细步骤。
44

55
**先决条件:**
66
* 确保您的系统已正确安装并正在运行 Docker。您可以从 [Docker 官方网站](https://www.docker.com/get-started) 下载并安装 Docker Desktop (适用于 Windows 和 macOS) 或 Docker Engine (适用于 Linux)。
77
* 项目代码已下载到本地。
8+
* **重要**: 首次运行需要在主机上完成认证文件获取,Docker环境目前仅支持日常运行。
89

910
## 1. 理解项目中的 Docker 相关文件
1011

@@ -19,18 +20,18 @@
1920
要构建 Docker 镜像,请在项目根目录下打开终端或命令行界面,然后执行以下命令:
2021

2122
```bash
22-
docker build -t freegoogleapi:latest .
23+
docker build -t ai-studio-proxy:latest .
2324
```
2425

2526
**命令解释:**
2627

2728
* `docker build`: 这是 Docker CLI 中用于构建镜像的命令。
28-
* `-t freegoogleapi:latest`: `-t` 参数用于为镜像指定一个名称和可选的标签 (tag),格式为 `name:tag`
29-
* `freegoogleapi`: 是您为镜像选择的名称。
30-
* `latest`: 是标签,通常表示这是该镜像的最新版本。您可以根据版本控制策略选择其他标签,例如 `freegoogleapi:1.0`
29+
* `-t ai-studio-proxy:latest`: `-t` 参数用于为镜像指定一个名称和可选的标签 (tag),格式为 `name:tag`
30+
* `ai-studio-proxy`: 是您为镜像选择的名称。
31+
* `latest`: 是标签,通常表示这是该镜像的最新版本。您可以根据版本控制策略选择其他标签,例如 `ai-studio-proxy:1.0`
3132
* `.`: (末尾的点号) 指定了 Docker 构建上下文的路径。构建上下文是指包含 [`Dockerfile`](./Dockerfile:1) 以及构建镜像所需的所有其他文件和目录的本地文件系统路径。点号表示当前目录。Docker 守护进程会访问此路径下的文件来执行构建。
3233

33-
构建过程可能需要一些时间,具体取决于您的网络速度和项目依赖项的多少。成功构建后,您可以使用 `docker images` 命令查看本地已有的镜像列表,其中应包含 `freegoogleapi:latest`
34+
构建过程可能需要一些时间,具体取决于您的网络速度和项目依赖项的多少。成功构建后,您可以使用 `docker images` 命令查看本地已有的镜像列表,其中应包含 `ai-studio-proxy:latest`
3435

3536
## 3. 运行 Docker 容器
3637

@@ -49,8 +50,8 @@ docker run -d \
4950
# 可选: 如果您需要设置内部 Camoufox 代理,请取消下面一行的注释,
5051
# 并将 "http://your_proxy_address:port" 替换为您的代理实际地址和端口。
5152
# -e INTERNAL_CAMOUFOX_PROXY="http://your_proxy_address:port" \
52-
--name freegoogleapi_container \
53-
freegoogleapi:latest
53+
--name ai-studio-proxy-container \
54+
ai-studio-proxy:latest
5455
```
5556

5657
**命令解释:**
@@ -78,10 +79,10 @@ docker run -d \
7879
* `-e STREAM_PORT=3120`: 类似地,设置 `STREAM_PORT` 环境变量为 `3120`,供应用程序的流服务使用。
7980
* `# -e INTERNAL_CAMOUFOX_PROXY="http://your_proxy_address:port"` (可选,已注释): 设置内部 Camoufox 代理。
8081
* 如果您的应用程序需要通过一个特定的内部代理服务器来访问 Camoufox 或其他外部服务,可以取消此行的注释,并将 `"http://your_proxy_address:port"` 替换为实际的代理服务器地址和端口 (例如 `http://10.0.0.5:7890``socks5://proxy-user:proxy-pass@10.0.0.10:1080`)。
81-
* `--name freegoogleapi_container`: 为正在运行的容器指定一个名称。
82-
* 这使得管理容器更加方便。例如,您可以使用 `docker stop freegoogleapi_container` 来停止这个容器,或使用 `docker logs freegoogleapi_container` 来查看其日志。
82+
* `--name ai-studio-proxy-container`: 为正在运行的容器指定一个名称。
83+
* 这使得管理容器更加方便。例如,您可以使用 `docker stop ai-studio-proxy-container` 来停止这个容器,或使用 `docker logs ai-studio-proxy-container` 来查看其日志。
8384
* 如果您不指定名称,Docker 会自动为容器生成一个随机名称。
84-
* `freegoogleapi:latest`: 指定要运行的镜像的名称和标签。这必须与您在 `docker build` 命令中使用的名称和标签相匹配。
85+
* `ai-studio-proxy:latest`: 指定要运行的镜像的名称和标签。这必须与您在 `docker build` 命令中使用的名称和标签相匹配。
8586

8687
**首次运行前的重要准备:**
8788
* **创建 `auth_profiles/` 目录:** 在项目根目录下 (与 [`Dockerfile`](./Dockerfile:1) 同级),手动创建一个名为 `auth_profiles` 的目录。如果您的应用程序需要初始的认证配置文件,请将它们放入此目录中。
@@ -99,66 +100,66 @@ docker run -d \
99100

100101
* **查看容器日志:**
101102
```bash
102-
docker logs freegoogleapi_container
103+
docker logs ai-studio-proxy-container
103104
```
104-
(如果您想持续跟踪日志输出,可以使用 `-f` 参数: `docker logs -f freegoogleapi_container`)
105+
(如果您想持续跟踪日志输出,可以使用 `-f` 参数: `docker logs -f ai-studio-proxy-container`)
105106

106107
* **停止容器:**
107108
```bash
108-
docker stop freegoogleapi_container
109+
docker stop ai-studio-proxy-container
109110
```
110111

111112
* **启动已停止的容器:**
112113
```bash
113-
docker start freegoogleapi_container
114+
docker start ai-studio-proxy-container
114115
```
115116

116117
* **重启容器:**
117118
```bash
118-
docker restart freegoogleapi_container
119+
docker restart ai-studio-proxy-container
119120
```
120121

121122
* **进入容器内部 (获取一个交互式 shell):**
122123
```bash
123-
docker exec -it freegoogleapi_container /bin/bash
124+
docker exec -it ai-studio-proxy-container /bin/bash
124125
```
125126
(或者 `/bin/sh`,取决于容器基础镜像中可用的 shell。这对于调试非常有用。)
126127

127128
* **删除容器:**
128129
首先需要停止容器,然后才能删除它。
129130
```bash
130-
docker stop freegoogleapi_container
131-
docker rm freegoogleapi_container
131+
docker stop ai-studio-proxy-container
132+
docker rm ai-studio-proxy-container
132133
```
133-
(如果您想强制删除正在运行的容器,可以使用 `docker rm -f freegoogleapi_container`,但不建议这样做,除非您知道自己在做什么。)
134+
(如果您想强制删除正在运行的容器,可以使用 `docker rm -f ai-studio-proxy-container`,但不建议这样做,除非您知道自己在做什么。)
134135

135136
## 5. 更新应用程序
136137

137138
当您更新了应用程序代码并希望部署新版本时,通常需要执行以下步骤:
138139

139140
1. **停止并删除旧的容器** (如果它正在使用相同的端口或名称):
140141
```bash
141-
docker stop freegoogleapi_container
142-
docker rm freegoogleapi_container
142+
docker stop ai-studio-proxy-container
143+
docker rm ai-studio-proxy-container
143144
```
144145
2. **重新构建 Docker 镜像** (确保您在包含最新代码和 [`Dockerfile`](./Dockerfile:1) 的目录中):
145146
```bash
146-
docker build -t freegoogleapi:latest .
147+
docker build -t ai-studio-proxy:latest .
147148
```
148149
3. **使用新的镜像运行新的容器** (使用与之前相同的 `docker run` 命令,或根据需要进行调整):
149150
```bash
150151
docker run -d \
151152
-p <宿主机_服务端口>:2048 \
152153
# ... (其他参数与之前相同) ...
153-
--name freegoogleapi_container \
154-
freegoogleapi:latest
154+
--name ai-studio-proxy-container \
155+
ai-studio-proxy:latest
155156
```
156157

157158
## 6. 清理
158159

159160
* **删除指定的 Docker 镜像:**
160161
```bash
161-
docker rmi freegoogleapi:latest
162+
docker rmi ai-studio-proxy:latest
162163
```
163164
(注意:如果存在基于此镜像的容器,您需要先删除这些容器。)
164165

@@ -169,4 +170,11 @@ docker run -d \
169170
(如果想删除所有未使用的镜像,不仅仅是悬空的,可以使用 `docker system prune -a`)
170171
**警告:** `prune` 命令会删除数据,请谨慎使用。
171172

172-
希望本教程能帮助您成功地通过 Docker 部署和运行 `freegoogleapi` 项目!
173+
希望本教程能帮助您成功地通过 Docker 部署和运行 AI Studio Proxy API 项目!
174+
175+
## 注意事项
176+
177+
1. **认证文件**: Docker 部署需要预先在主机上获取有效的认证文件,并将其放置在 `auth_profiles/active/` 目录中。
178+
2. **模块化架构**: 项目采用模块化设计,所有配置和代码都已经过优化,无需手动修改。
179+
3. **端口配置**: 确保宿主机上的端口未被占用,默认使用 2048 (主服务) 和 3120 (流式代理)。
180+
4. **日志查看**: 可以通过 `docker logs` 命令查看容器运行日志,便于调试和监控。

0 commit comments

Comments
 (0)