AIClient-2-API/run-docker.bat
hex2077 5f0cd6ad83 feat(docker): 添加Docker支持和部署指南
新增Dockerfile、.dockerignore和健康检查脚本,支持通过Docker部署服务。添加了详细的部署文档和自动化脚本,便于在不同环境下快速启动和配置服务。同时优化了系统提示词应用逻辑,移除了调试日志输出。
2025-07-30 19:46:12 +08:00

65 lines
No EOL
2.2 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
:: run-docker-with-credentials.bat
:: 生成指定的Docker运行命令使用USERPROFILE环境变量构建路径
setlocal enabledelayedexpansion
echo 正在生成指定的Docker运行命令...
:: 设置配置文件路径使用USERPROFILE环境变量
set "AWS_SSO_CACHE_PATH=%USERPROFILE%\.aws\sso\cache"
set "GEMINI_CONFIG_PATH=%USERPROFILE%\.gemini\oauth_creds.json"
:: 检查AWS SSO缓存目录是否存在
if exist "%AWS_SSO_CACHE_PATH%" (
echo 发现AWS SSO缓存目录: %AWS_SSO_CACHE_PATH%
) else (
echo 未找到AWS SSO缓存目录: %AWS_SSO_CACHE_PATH%
echo 注意AWS SSO缓存目录不存在Docker容器可能无法访问AWS凭证
)
:: 检查Gemini配置文件是否存在
if exist "%GEMINI_CONFIG_PATH%" (
echo 发现Gemini配置文件: %GEMINI_CONFIG_PATH%
) else (
echo 未找到Gemini配置文件: %GEMINI_CONFIG_PATH%
echo 注意Gemini配置文件不存在Docker容器可能无法访问Gemini API
)
:: 构建Docker运行命令使用USERPROFILE环境变量构建的路径
set "DOCKER_CMD=docker run -d ^"
set "DOCKER_CMD=!DOCKER_CMD! -p 3000:3000 ^"
set "DOCKER_CMD=!DOCKER_CMD! -e ARGS="--api-key 123456 --host 0.0.0.0" ^"
set "DOCKER_CMD=!DOCKER_CMD! -v "%AWS_SSO_CACHE_PATH%:/home/nextjs/.aws/sso/cache" ^"
set "DOCKER_CMD=!DOCKER_CMD! -v "%GEMINI_CONFIG_PATH%:/home/nextjs/.gemini/oauth_creds.json" ^"
set "DOCKER_CMD=!DOCKER_CMD! --name gemini-cli2api ^"
set "DOCKER_CMD=!DOCKER_CMD! gemini-cli2api"
:: 显示将要执行的命令
echo.
echo 生成的Docker命令:
echo !DOCKER_CMD!
echo.
:: 将命令保存到文件中
echo !DOCKER_CMD! > docker-run-command.txt
echo 命令已保存到 docker-run-command.txt 文件中,您可以从该文件复制完整的命令。
:: 询问用户是否要执行该命令
echo.
set /p EXECUTE_CMD="是否要立即执行该Docker命令(y/n): "
if /i "!EXECUTE_CMD!"=="y" (
echo 正在执行Docker命令...
!DOCKER_CMD!
if !errorlevel! equ 0 (
echo Docker容器已成功启动
echo 您可以通过 http://localhost:3000 访问API服务
) else (
echo Docker命令执行失败请检查错误信息
)
) else (
echo 命令未执行您可以手动从docker-run-command.txt文件复制并执行命令
)
echo 脚本执行完成
pause