在Fly.io部署VSCode Server失败,请求技术支持
解决Fly.io部署linuxserver code-server启动失败(Exit Code 100)的问题
问题分析
Exit Code 100通常意味着容器启动时缺少必要配置或依赖,linuxserver系列镜像依赖特定环境变量、用户权限设置,Fly.io默认生成的配置未满足这些要求,导致容器启动后立即退出。
解决方案
1. 完善fly.toml配置
linuxserver的code-server必须配置核心参数,在自动生成的fly.toml中补充以下内容:
- 环境变量:添加用户ID、组ID、访问密码及时区
- 端口映射:确保容器内8080端口(code-server默认端口)对外暴露
- 健康检查:调整为适配code-server的HTTP检查规则
修改后的关键配置示例:
[env] # 匹配Fly.io实例默认用户权限,1000为通用UID/GID PUID = "1000" PGID = "1000" # 设置VSCode Server访问密码,建议使用强密码 PASSWORD = "your-secure-password-here" # 替换为对应时区,如法兰克福地区用Europe/Berlin TZ = "Europe/Berlin" [[services]] internal_port = 8080 protocol = "tcp" [[services.ports]] port = 80 [[services.ports]] port = 443 [[services.http_checks]] path = "/" port = 8080 interval = 10000 timeout = 2000 method = "get"
2. 本地验证镜像可用性
先在Windows本地Docker测试镜像,排除镜像本身问题:
docker run -d -p 8080:8080 -e PUID=1000 -e PGID=1000 -e PASSWORD=test123 ghcr.io/linuxserver/code-server
打开http://localhost:8080,输入密码能正常访问VSCode界面,说明镜像无问题,问题集中在Fly.io配置。
3. 重新部署并查看日志
执行部署命令:
flyctl deploy
部署后实时查看日志,获取详细错误信息:
flyctl logs -a vscode-collin
日志会提示具体缺失的配置或依赖,可针对性调整。
4. 检查Dockerfile完整性
确认克隆的docker-code-server仓库中Dockerfile完整,linuxserver镜像入口为/init,该脚本自动启动code-server,若Dockerfile缺失启动脚本拷贝或环境变量配置,需同步官方仓库最新内容。
内容的提问来源于stack exchange,提问作者Collin
相关产品推荐
相关产品推荐

