错误:web使用图像,跳过(docker compose)

时间:2017-12-03 05:15:01

标签: node.js mongodb docker docker-compose

我目前正在使用node expressmongodb尝试此教程 https://medium.com/@sunnykay/docker-development-workflow-node-express-mongo-4bb3b1f7eb1e

第一部分可以很好地构建docker-compose.yml 它完全可以找到在本地构建它所以我试着标记它并推入我的dockerhub学习并尝试更多。

这最初是yml文件后面的教程

version: "2"
services:
  web:
    build: .
    volumes:
      - ./:/app
    ports:
      - "3000:3000"

当我使用docker-compose builddocker-compose up

时,这就像一个魅力

因此我尝试将其推送到我的dockerhub并将其标记为node-test

然后我将yml文件更改为

version: "2"
services:
  web:
    image: "et4891/node-test"
    volumes:
      - ./:/app
    ports:
      - "3000:3000"

然后我删除了之前的所有图片以确保它也有效...但是当我运行docker-compose build时,我看到此消息error: web uses an image, skipping并且没有任何反应。

我尝试使用谷歌搜索错误,但我找不到任何东西。

有人可以帮我一把吗?

提前致谢

4 个答案:

答案 0 :(得分:45)

我发现,我是傻瓜。

我不需要运行docker-compose build我可以直接运行docker-compose up,因为它会将图片拉下来,build只是在本地构建

答案 1 :(得分:5)

说明:此消息(<service> uses an image, skipping) 不是错误。它通知用户该服务使用了 Image ,因此该服务是预先构建的,因此被build命令跳过了。

换句话说-您不需要build,您需要up服务。

解决方案:

运行sudo docker-compose up <your-service>

PS :如果您更改了docker-compose上的某些配置,请使用--force-recreate标志应用更改并再次创建。

sudo docker-compose up --force-recreate <your-service>

答案 2 :(得分:2)

在我的情况下,以下命令有效:

docker-compose up --force-recreate

希望对您有帮助!

答案 3 :(得分:-1)

不确定是解决方法还是解决方法,但这是我的经验。 后来我遇到了同样的问题,发现我创建了一个虚拟容器,并在容器名称之前添加了图像名称,这是我所面临的问题。 用

进行了检查
docker ps -a 

我删除了该容器,然后重新构建了它能工作的图像。