【问题标题】:Docker: Uses an image, skipping (docker-compose)Docker:使用图像,跳过(docker-compose)
【发布时间】:2018-05-16 20:43:52
【问题描述】:

我目前正在尝试使用 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 并且没有任何反应。

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

有人可以帮帮我吗?

提前致谢

【问题讨论】:

  • “你的”dockerhub?请澄清:您自己的注册表或您在 docker.io 上的帐户
  • @MarkusWMahlberg https://hub.docker.com/ 这个地方...
  • @MarkusWMahlberg 是的,lab4.1 也发生了同样的情况,它在今天的学校里运行良好。

标签: node.js mongodb docker docker-compose


【解决方案1】:

我发现,我是愚蠢的。

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

【讨论】:

  • 它可能值得扩展一点:如果你使用image而不是build(你只能通过指向特定的Dockerfile来做到这一点)那么就没有什么可构建的了,因为您直接使用来自 docker 存储库的图像。
  • 如果镜像是本地构建的,那么需要这样的步骤:docker build -t <image name> <directory>本地构建,docker-compose up -d <service name>重新创建容器并启动它。
【解决方案2】:

在我的例子中,下面的命令有效:

docker-compose up --force-recreate

我希望这会有所帮助!

【讨论】:

  • 但这是 UP,而不是 BUILD。不想构建?
  • 这是重新创建有任何变化的容器,所以类似于 build
【解决方案3】:

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

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

解决方案:

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

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

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

【讨论】:

    【解决方案4】:

    我的问题是我想升级image所以我尝试使用:

    • docker build --no-cache
    • docker-compose up --force-recreate
    • docker-compose up --build

    没有一个重建图像。

    缺少的(来自this post)是:

    docker-compose stop
    docker-compose rm -f # remove old images
    docker-compose pull  # download new images
    docker-compose up -d
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多