You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器启动后退出问题求助(含docker-compose配置)

问题分析与解决

核心原因

你的firebase服务容器启动后立刻退出,是因为Docker容器会在主进程执行完毕后自动停止:

  • 你在docker-compose.yml中给firebase服务设置了command: "echo this is a test",这条命令执行完输出内容后就直接结束,主进程终止导致容器随之退出,因此docker ps看不到运行中的容器,docker ps -a显示状态为Exited (0)(退出码0表示命令执行成功)。

解决方案

1. 修复Firebase服务的启动命令

将command替换为启动Firebase模拟器的实际命令,示例:

services:
  firebase:
    # 其他配置保持不变
    command: firebase emulators:start

注意:确保你的firebase.dockerfile已安装firebase-tools,且容器内存在正确的Firebase配置文件(如firebase.json),否则启动命令会执行失败。

如果只是需要临时让容器保持运行(用于调试镜像环境),可以使用以下命令:

command: tail -f /dev/null

2. 检查Expo服务的运行状态

虽然你未提及Expo容器的日志,但仍需确认其默认启动命令是否为持续运行的进程:

  • 查看dev/Dockerfile中的CMD或ENTRYPOINT指令,确保它启动的是持续运行的服务(如npm start)
  • tty: true仅用于分配伪终端,若主进程结束,容器仍会退出,核心是要有持续运行的启动命令。

验证步骤

  1. 修改docker-compose.yml后,重新构建并启动:
docker-compose up -d --build
  1. 查看运行中的容器:
docker ps
  1. 查看服务日志确认运行状态:
docker-compose logs -f firebase
docker-compose logs -f expo

内容的提问来源于stack exchange,提问作者Kael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:26:07