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

**URL:** https://meta.discourse.org/t/launcher-pulls-an-update-on-enter-app/313051
**Category:** Self-hosting
**Tags:** arm
**Created:** [2024年六月21日 12:33 UTC](https://meta.discourse.org/t/launcher-pulls-an-update-on-enter-app/313051 "2024-06-21T12:33:19Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Isambard](https://avatars.discourse-cdn.com/v4/letter/i/858c86/32.png) [@Isambard](https://meta.discourse.org/u/Isambard)
#### Post date: [2024年六月21日 12:33 UTC](https://meta.discourse.org/t/launcher-pulls-an-update-on-enter-app/313051/1 "2024-06-21T12:33:19Z")

</div>

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

```plaintext
# 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？

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2024年六月21日 16:59 UTC](https://meta.discourse.org/t/launcher-pulls-an-update-on-enter-app/313051/2 "2024-06-21T16:59:38Z")

</div>

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

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

```
docker exec -it app bash

```

进入容器

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [2024年九月8日 18:13 UTC](https://meta.discourse.org/t/launcher-pulls-an-update-on-enter-app/313051/3 "2024-09-08T18:13:10Z")

</div>

> [@pfaffman](#):
>
> Launcher 总是会拉取，因为人们自己不会这样做。

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

脚本的相关部分 [在此](https://github.com/discourse/discourse_docker/blame/main/launcher#L210) 已经近 3 年了。我想知道，ARM 是否仍然如此实验性，以至于需要这种不同的处理方式？

结果是，Intel 镜像目前是 15 天前拉取的，位于基础镜像列表的 [第 8 页](https://hub.docker.com/r/discourse/base/tags?page=8&page_size=&name=&ordering=)，而 ARM 镜像则是最新的，只有 17 小时。
