2015-10-17 49 views
7

我一直在尝试在最近2天内对在多容器集上使用docker-compose进行测试的Dockerfile进行小编辑。“docker-compose”似乎不允许或从本地图像生成

我可以在本地构建和标记容器,但只要运行'docker-compose',它就从注册表副本中拉出(与docker-compose文档相反)。

如果我在目录本身上运行docker build .,容器找到正确,但运行“docker-compose build”失败。

bash-3.2$ docker images 
REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
busbyjon/heroku-php latest    c6c60910a924  58 minutes ago  1.754 GB 
mysql     latest    d7da97aedce5  3 days ago   324.3 MB 
heroku/cedar   14     ef12eade669a  2 weeks ago   1.265 GB 
bash-3.2$ docker-compose build 
cleardb uses an image, skipping 
Building shell... 
Step 0 : FROM busbyjon/heroku-php 
Pulling repository docker.io/busbyjon/heroku-php 
Service 'shell' failed to build: Error: image busbyjon/heroku-php:latest not found 

请注意如何将busbyjon/heroku-php列为图像,但未找到。它似乎并不重要,我标记此图像(它可以是“测试”,它仍然不起作用!)。

请帮忙!

+0

它会工作。你使用的是什么版本的'docker'和'docker-compose'? – dnephin

+0

听起来就像你遇到了这个问题 - https://github.com/docker/compose/issues/1568 –

+0

是的!这看起来是正确的 - 我需要等待此修复才能发布 - 同时我已将更改推送到Docker中心以解决此问题 – Buzbe

回答

2

我能够通过标记我的形象,这样来克服类似的问题:

  • myservicelocal/myservice

这并没有为我工作:

  • my-service

也许这是不是原因..但尝试从您的图片标签中删除破折号。 要重新运行您的图像:docker tag busbyjon/heroku-php herokuphp然后使用图像名称herokuphp in docker-compose.yml