"Docker-compose up"每次都不会拉动图像,它会重新创建一个拉出的图像

use*_*948 5 docker boot2docker docker-compose

我有Dockerfile以下内容:

FROM <docker-registry>/<image>:latest
COPY mv setup /root/
RUN setup
Run Code Online (Sandbox Code Playgroud)

当我这样做时docker-compose up -d,Docker会拉动图像并执行步骤.

当我做一个docker-compose stop并重新启动它时,docker-compose dos不会再次拉出最新的图像.这对我来说是个问题,因为我需要下载新图像.我这样做的唯一方法是炸掉boot2docker vm并重新开始.

kev*_*kev 6

您应该使用docker-compose pull命令来拉取远程映像,使用docker-compose build命令来构建本地映像,然后使用它docker-compose up -d来重新创建容器.

$ cd /path/to/folder

$ cat docker-compose.yml
myapp:
  build: .
  links:
    - redis    
redis:
  image: redis

# pull lastest image
$ docker-compose pull redis

# build your image
$ docker-compose build myapp

# recreate containers
$ docker-compose up -d
Run Code Online (Sandbox Code Playgroud)


Dav*_*ish 5

Docker Compose版本1.5.0rc1现在可以通过使用在构建时提取Dockerfiles中引用的最新图像docker-compose build --pull.

1.5.0rc1之前docker-compose无法强制Dockerfile服务获取最新映像.我不得不使用docker pull <image>.

一旦拉出了新的图像,就可以重建docker-compose build.如果图像已更改,则缓存应完全无效,因为步骤0的FROM哈希已更改.