Launcher 在‘进入应用’时推送更新

在 ARM 系统上,当我执行 ./launcher enter app 时,它会执行 pull_image。我猜测这是由于以下原因:

# 4. discourse docker image is downloaded
  3   test=`$docker_path images | awk '{print $1 ":" $2 }' | grep "$image"`
  2
  1   # arm experimental support is on a fixed tag, always pull
227   if [ -z "$test" ] || [ $arm = true ]; then
  1     echo
  2     echo "WARNING: We are about to start downloading the Discourse base image"
  3     echo "This process may take anywhere between a few minutes to an hour, depending on your network speed"
  4     echo
  5     echo "Please be patient"
  6     echo
  7
  8     pull_image
  9   fi

进入 Docker 时执行 pull_image 是有原因的,还是这是一个 bug?

Launcher 总是会拉取,因为人们自己不会这样做。

如果你想避免保持更新并知道为什么这样做,那么你可以改用

docker exec -it app bash

进入容器

2 个赞

我认为在这种情况下,情况比这更复杂,因为在 Intel 上,脚本会检查是否有新镜像可用,但在 ARM 上,它总是会拉取。给出的原因是 ARM 始终使用固定标签。例如,今天,我们在启动器脚本中看到两种可能性:
image="discourse/base:2.0.20240825-0027"
或者
image="discourse/base:aarch64"
正如你所见,其中一个镜像在批准新镜像时会得到仔细维护,而另一个则取决于标签的位置。

脚本的相关部分 在此 已经近 3 年了。我想知道,ARM 是否仍然如此实验性,以至于需要这种不同的处理方式?

结果是,Intel 镜像目前是 15 天前拉取的,位于基础镜像列表的 第 8 页,而 ARM 镜像则是最新的,只有 17 小时。

3 个赞