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

使用Docker构建镜像部署云服务器后,为何找不到文件与文件夹?

问题排查与解决

1. 镜像推送标签错误

你推送镜像时用的标签是gcr.io/app/app:2023.01.2,但之前打标签的是gcr.io/app/app:2023.01.25,版本号不一致。如果GCR中存在2023.01.2旧镜像,创建服务器时可能用的是旧版本而非刚构建的新镜像。修正推送命令:

docker push gcr.io/app/app:2023.01.25

并确认创建服务器时指定的镜像标签为2023.01.25。

2. SSH登录的是宿主机而非容器内部

这是Docker新手常见误区:基于Docker镜像创建的Google Cloud服务器(如Container-Optimized OS实例),SSH登录的是虚拟机宿主机,不是运行应用的容器内部。需进入容器查看文件:

  • 登录VM后执行docker ps获取运行中容器的ID
  • 执行docker exec -it <容器ID> /bin/bash进入容器内部
  • 此时查看/app目录,就能看到镜像中复制的文件

3. 本地.dockerignore文件导致文件未被复制

如果本地目录存在.dockerignore文件,若其中包含需要复制的文件/文件夹(比如误写了*或业务目录名),COPY . /app会跳过这些内容,镜像中自然没有对应文件。检查本地目录的.dockerignore,确保未排除必要内容。

4. 容器启动时挂载卷覆盖了/app目录

若创建服务器时配置了外部卷(如GCE持久化磁盘)挂载到/app路径,会覆盖镜像中原有的/app目录内容。检查服务器启动配置,确认没有将外部卷挂载到/app。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:15:26