相关疑难解决方法(0)

如何让docker-compose始终从新图像重新创建容器?

我的docker镜像是在Jenkins CI服务器上构建的,并被推送到我们的私有Docker Registry.我的目标是使用docker-compose配置环境,它始终启动图像的最初构建状态.

我目前在不同的机器上使用docker-compose 1.3.2以及1.4.0,但我们之前也使用过旧版本.

我总是使用docker-compose pull && docker-compose up -d命令从注册表中获取新图像并启动它们.我相信我的首选行为在某个时间点按预期工作,但从那时起docker-compose up开始重新运行先前停止的容器,而不是每次都启动最初构建的映像.

有没有办法摆脱这种行为?这种方式可能是在docker-compose.yml配置文件中连接的,在每次调用时都不依赖于"忘记"命令行中的某些内容吗?

PS.除了找到实现目标的方法之外,我还想更多地了解这种行为的背景.我认为Docker的基本思想是构建一个不可变的基础架构.docker-compose的当前行为似乎与这种方法完全冲突..或者我在这里错过了一些观点?

docker docker-compose

161
推荐指数
8
解决办法
13万
查看次数

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

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

第一部分工作正常,在哪里建立docker-compose.yml 它的工作完全找到在本地建立它所以我试图标记它,并推入我dockerhub学习和尝试更多.

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

version: "2"
services:
  web:
    build: .
    volumes:
      - ./:/app
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

当我使用docker-compose build和时,这就像一个魅力docker-compose up

所以我试着把它推到我的dockerhub,我也把它标记为 node-test

然后我将yml文件更改为

version: "2"
services:
  web:
    image: "et4891/node-test"
    volumes:
      - ./:/app
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

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

我试过谷歌搜索错误,但我找不到任何东西.

有人可以帮我一把吗?

提前致谢

mongodb node.js docker docker-compose

27
推荐指数
4
解决办法
2万
查看次数

Docker拉-强制下载

是否有可能强行拉码头图片?

我已经将docker映像重新部署到另一个存储库,但是当我调用

docker pull anotherrepo:port/my/image
Run Code Online (Sandbox Code Playgroud)

什么都没有下载,相反我得到了信息:

Digest: sha256:somehash
Run Code Online (Sandbox Code Playgroud)

并且该图像是最新的。

docker rm / rmi不起作用,因为该映像是从originalrepo:port / my / image下载的,并且我不想出于测试目的停止/删除它。

是否可以通过强制拉动检查图像是否正确推入?

docker

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×3

docker-compose ×2

mongodb ×1

node.js ×1