我在过去的两天里一直试图对使用docker-compose
的多容器集上测试的Dockerfile进行小编辑。
我可以在本地构建和标记容器,但是一旦我运行“docker-compose”#39;它从注册表副本中提取(与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 :(得分:2)
通过标记我的图像,我能够克服类似的问题:
myservice
或local/myservice
这对我不起作用:
my-service
可能不是原因..但尝试从图片标记中删除破折号。
要重新开始运行图像:docker tag busbyjon/heroku-php herokuphp
,然后在herokuphp
中使用图片名称docker-compose.yml
答案 1 :(得分:1)
这可能是由于这个错误:https://github.com/docker/compose/issues/1568(无法找到本地构建的图像)