我的PHP Dockerfile示例:
# Install composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
有了这个,我希望在我的容器中有最新的composer版本。但我有一些旧版本。当我做docker images
时,我看到我的composer:latest
图像已经过时:
composer latest 8f2928e1f548 8 months ago 176MB
所以我做的是:
docker-compose pull --include-deps
docker-compose up -d --build --remove-orphans
但是,它只提取基本图像,而不是我通过--from
依赖的图像。
有我监督的选择吗?还是我应该只需要一些特定的版本,比如:2.0.13
?我看到一些博客文章说:latest
标签并不像它所暗示的那样
首先,您应该了解--include-deps
仅适用于在depends_on
指令中设置的图像。不适用于多级。
对于您的情况,您可能应该在没有缓存的情况下构建图像。
推送到存储库之前的docker build --pull --no-cache --tag myimage:version .
或者如果你使用构建在你的docker组成文件
docker-compose build --no-cache --pull
:latest
标记的问题在于,这并不意味着你正在提取该图像的最后一次更新,只是他们标记为:latest
的更新。
很多时候,它的某些版本已经过时,但它可能是最后一个稳定的图像,所以如果你对图像的版本没有任何偏好,那么使用最新的图像也不是一个坏主意。