앱 진입 시 런처가 업데이트를 수행함

버그로 추정되는 이상한 동작을 확인했습니다:

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를 실행해야 하는 이유가 있는 건가요, 아니면 이건 버그인가요?

사용자들이 직접 업데이트를 하지 않기 때문에 런처는 항상 pull을 수행합니다.

업데이트를 피하고 그 이유를 알고 있다면, 대신 다음 명령을 사용하여 컨테이너에 진입할 수 있습니다:

docker exec -it app bash

이 경우 그 이상의 이유가 있다고 생각합니다. Intel에서는 스크립트가 새로운 이미지가 있는지 확인하지만, ARM에서는 항상 pull을 수행합니다. 그 이유는 ARM이 항상 고정된 태그를 사용하기 때문이라고 합니다. 예를 들어, 오늘 Launcher 스크립트에서 두 가지 가능성을 볼 수 있습니다:
image="discourse/base:2.0.20240825-0027"
또는
image="discourse/base:aarch64"
보시다시피, 이 중 하나는 새로운 이미지가 승인될 때 신중하게 관리되는 반면, 다른 하나는 태그의 위치에 맡겨져 있습니다.

스크립트의 관련 부분은 거의 3년 전 것입니다. ARM이 여전히 이토록 실험 단계라서 이러한 다른 처리가 필요한지 궁금합니다.

결국, pull될 Intel 이미지는 현재 15일 전 것이며 기본 이미지 목록의 8번째 페이지에 위치해 있는 반면, ARM 이미지는 최신 이미지로 불과 17시간 전 것입니다.