【问题标题】:Docker Compose Getting Started guideDocker Compose 入门指南
【发布时间】:2016-09-13 13:50:03
【问题描述】:

我正在关注 Docker Compose 入门指南 (https://docs.docker.com/compose/gettingstarted/),并且完全按照该指南进行操作。我的Dockerfiledocker-compose.yml 和目录中的所有其他文件与指南中显示的完全相同。

但是,当我尝试运行 docker-compose up 时,Web 服务立即退出,退出代码为 2,并出现错误消息:

web_1    | python: can't open file 'app.py': [Errno 2] No such file or directory

如果单独运行,则构建和运行图像可以正常工作,即

docker build -t composetestweb .
docker run -d -p 5000:5000 composetestweb

网站吐出一个错误,但它确实响应。

检查组合容器似乎显示了正确的信息:命令、挂载的文件夹和工作目录都是正确的。

我在带有 VirtualBox 4.3.38 的 Windows 7 上使用 Docker Machine。作为记录,到目前为止,我对任何其他 Docker 指南都没有任何问题。

【问题讨论】:

  • 你能添加你的 docker-compose.yml 和文件夹结构吗?

标签: docker docker-compose docker-machine


【解决方案1】:

此错误的最常见原因是使用docker-machine$HOME 目录的项目输出。 docker-machine 只会为主目录创建一个 Virtualbox 共享文件夹,因此如果您的项目位于该目录之外,docker-compose 中使用的volumes: 将不起作用。

您有以下选择:

  • 将项目移至主目录下的目录
  • 为您存储项目的文件夹添加另一个共享文件夹到 virtualbox
  • 不要使用volumes:,将其从docker-compose 中删除

【讨论】:

  • 移动目录对我有用。我在我的机器 C:\DockerWorkspace 上的一个目录中完成所有工作。这在没有 compose 的情况下运行容器时效果很好。奇怪的是,将 C:\DockerWorkspace 添加为 VirtualBox 中的共享文件夹并不能解决问题。
  • 您用于共享文件夹的路径必须是/DockerWorkspace 我想,这是您使用的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-03
  • 1970-01-01
  • 2010-11-10
  • 2011-05-06
  • 2010-09-30
相关资源
最近更新 更多