为了账号安全,请及时绑定邮箱和手机立即绑定

Docker 镜像构建不同版本的应用程序

Docker 镜像构建不同版本的应用程序

PHP
缥缈止盈 2023-08-26 16:02:09
我正在尝试使用 docker 映像,它根据我的使用方式显示不同的行为。该图像是https://hub.docker.com/r/chriszarate/wordpress-phpunit/Github 是https://github.com/chriszarate/wordpress-phpunit用法 1 - 本地构建克隆存储库跑步docker-compose -f docker-compose.yml run --rm wordpress_phpunit php -v输出:PHP 7.2.10 (cli) (built: Sep 17 2018 09:23:43) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies    with Zend OPcache v7.2.10, Copyright (c) 1999-2018, by Zend Technologies    with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans用法 2 - 在我的 docker-compose.yml 中使用它我的 docker-compose.ymlversion: "3"services:  wordpress_phpunit:    image: "chriszarate/wordpress-phpunit"跑步Run docker-compose -f docker-compose.yml run --rm wordpress_phpunit php -v输出:PHP 7.1.5 (cli) (built: May 13 2017 10:49:18) ( NTS )Copyright (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies    with Zend OPcache v7.1.5, Copyright (c) 1999-2017, by Zend Technologies    with Xdebug v2.5.3, Copyright (c) 2002-2017, by Derick Rethans请注意,用法 1安装PHP 7.2.10,而用法 2安装PHP 7.1.5我查看了 Docker 中心,它具有 git 存储库中的最新更改。我在这里错过了什么吗?
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

所以这就是可能发生的情况:

  1. docker镜像phpunit-docker/6.0.6最初被构建并推送到 docker 存储库。当时,PHP 7 的版本为 7.1.5,因此 Dockerfile将该版本构建到映像中。

  2. chriszarate/wordpress-phpunit然后构建了 docker 镜像。由于它基于phpunit-docker/6.0.6,因此生成的图像内置了 PHP 7.1.5 。

  3. 一段时间后,phpunit-docker/6.0.6构建并再次推送到 docker 存储库。只不过这一次,PHP 7 的版本是 7.2.10。这确实很奇怪,但也许不应该发生。

所以,在这种情况下:

  • 如果您docker pull chriszarate/wordpress-phpunit,您将获得 PHP 7.1.5,因为它内置于 docker 存储库上的存储映像中,

  • 如果您git pull改为相应的项目,然后本地构建它,它将基于最新的phpunit-docker/6.0.6映像,因此运行 PHP 7.2.10。

请注意,可能还有其他解释。不过,这似乎很合理。



查看完整回答
反对 回复 2023-08-26
  • 1 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信