./launcher rebuild app 구버전 1.6 discourse에서 작동하지 않음

여기서 제게 마지막 퍼즐 조각입니다

저는 이전 포럼을 새 위치로 옮겼지만 여전히 접근이 필요합니다. 도메인 이름을 변경하기 위해 app.yml을 편집한 후 ./launcher/ rebuild app --skip-prereqs를 실행하여 업데이트하려고 했지만 실패합니다

Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 60 app
app
2.0.20230116-0051: Pulling from discourse/base
e01f084ee363: Already exists 
db2fb8a75c87: Already exists 
6e789f3cf3a6: Already exists 
afa15f3b4f49: Already exists 
bd9a8f354aab: Already exists 
7492e41ba139: Already exists 
17620c643046: Already exists 
24a2215b994e: Already exists 
3119b33deb35: Already exists 
32a8b7f7c0e8: Already exists 
2dbcf46b2450: Already exists 
bdc228d4887d: Already exists 
914f28af582f: Already exists 
4a67c541b202: Already exists 
d3fc17f1b671: Already exists 
77b3d250e54b: Already exists 
9329aa462aa8: Already exists 
daeee236a97d: Already exists 
b7746b7c02a0: Already exists 
5c28ac2537d4: Already exists 
56d3ef9b7e39: Already exists 
3bb00ba1ec5a: Already exists 
1f758f6d6132: Already exists 
374c5f9048f9: Already exists 
0259a5d2f899: Already exists 
3ad74725ef87: Already exists 
f61c04c40065: Already exists 
1917d29aeb87: Already exists 
6bf5a4e9b5be: Already exists 
0f99e9c433c1: Already exists 
5c757ebc11e3: Already exists 
eb1d61649fc0: Already exists 
b3fce4a2403d: Already exists 
2252a5634a08: Already exists 
3b67775f0e8d: Already exists 
fb7e87c0cabf: Already exists 
f0ba17f026a5: Already exists 
aa579fdb2c50: Already exists 
9b282f6a881a: Already exists 
e60b39d46409: Already exists 
4e9e640a98df: Already exists 
0d2ba21fdd7e: Already exists 
5871f9f51cef: Already exists 
2a25ca72ae61: Already exists 
a6b1f035e2fa: Already exists 
4f13760fda63: Already exists 
856119d0afd5: Already exists 
0d289e5416ba: Already exists 
7ee9fa0f4507: Already exists 
aa6751fe4791: Already exists 
a586d833efb5: Already exists 
769ebf485619: Already exists 
701cfc339927: Already exists 
Digest: sha256:xxx
Status: Image is up to date for discourse/base:2.0.20230116-0051
/usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
flag provided but not defined: --shm-size
See '/usr/bin/docker run --help'.
cat: cids/app_bootstrap.cid: No such file or directory
bootstrap failed with exit code 2
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Container name cannot be empty

DISCOURSE DOCTOR Tue Jan 24 13:46:45 GMT 2023
OS: Linux xxxx01 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forumsold.xxxxx.com
SMTP_ADDRESS=smtp.xxxxx.com # (mandatory)
DEVELOPER_EMAILS=xxxxxx
SMTP_PASSWORD=xxxxx # (optional)
SMTP_PORT=25 # (optional)
SMTP_USER_NAME=xxxxx # (optional)
LETSENCRYPT_ACCOUNT_EMAIL=

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 1.7.0, build 0baf609

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                      PORTS               NAMES
456040e68bec        local_discourse/app   "/sbin/boot"        6 years ago         Exited (5) 52 minutes ago                       app                 
91834fc0d913        hello-world           "/hello"            7 years ago         Exited (0) 7 years ago                          ecstatic_poitras    

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
ERROR: Docker version 1.7.0 not supported, please upgrade to at least 17.03.1, or recommended 17.06.2
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to xxxx.xxxxxx.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . . 
ERROR: Docker version 1.7.0 not supported, please upgrade to at least 17.03.1, or recommended 17.06.2
Failed to restart the container.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at xxxx.xxxx.com: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 4048

             total       used       free     shared    buffers     cached
Mem:          3953       2058       1894          0         13       1811
-/+ buffers/cache:        233       3719
Swap:         2047        134       1913

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        79G   66G  9.5G  88% /

==================== DISK INFORMATION ====================

WARNING: GPT (GUID Partition Table) detected on '/dev/vda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/vda: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders, total 167772160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1               1   167772159    83886079+  ee  GPT

==================== END DISK INFORMATION ====================

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [xxxxxx]: n
Mail test skipped.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================

설치를 통째로 이동한 경우, 업그레이드를 시도하기 전에 컨테이너를 먼저 시작해 보셨나요?

백업이 있다면 새 설치에 복원하는 건 어떨까요?

1.6에서 재구축을 시도하고 계시는데, 동작은 하지만 훨씬 더 많은 문제를 일으킬 수 있습니다.

왜 사전 요구 사항을 건너뛰나요? 재구축을 하는 중이므로 업데이트를 건너뛰는 것이 아니라, 더 어려운 문제 해결을 피할 수 있는 체크만 건너뛰는 것입니다.

기회를 이용해서 Docker를 업데이트할 수 있을까요?

이미 3.1로 업그레이드를 마쳤고, 지금은 잘 작동하고 있습니다.
개발을 위해 건드리지 않았던 기존 포럼을 다시 온라인으로 올리는 중입니다.

재구축(rebuild) 명령어는 선행 조건을 건너뛰지 않으면 사용할 수 없어서 건너뛰고 있습니다 - Docker가 v1.7과 v1.8을 요구하기 때문이죠 - 하지만 이것이 문제일 수도 있으니 지금 그 부분을 업데이트해 보겠습니다.
이 포럼은 업데이트하지 않았는데도 재구축이 작동하지 않는 이유가 이해가 되지 않아 조금 혼란스럽습니다. 의존성 등을 변경한 적도 없는데 말이죠.

변경한 것은 호스트명을 업데이트하기 위해 app.yml만 수정했고, 선행 조건을 건너뛰지 않으면 작동하지 않는 재구축을 실행해 본 것입니다.

최신 런처와 Docker 이미지는 Discourse 1.6과 호환되지 않습니다. discourse_docker의 이전 버전으로 체크아웃해야 합니다. git checkout 2ec550f와 같은 명령이 작동할 수 있습니다…

사용 중인 OS도 이미 수명(EOL)이 끝났을 가능성이 높지만, 어쨌든 백업을 만든 후 새 VM에 새 설치 환경을 구성하고 백업을 복원하는 것을 권장합니다. 이렇게 하면 도메인 이름 변경 또는 Discourse 이름 변경에 필요한 몇 가지 단계도我省略할 수 있습니다.

이제 앱을 다시 시작할 수 없어서 더 이상 그렇게 할 수 없습니다.

기존 폴더의 백업이 있다면 언제든지 가져와서 시작을 시도해 볼 수 있습니다.

문제는 기본 Discourse 이미지를 업그레이드했다는 점입니다.

그 다음에는 /var/discourse/shared 디렉토리를 새 서버로 rsync로 복사합니다.

새 서버에 더 새로운 Discourse 빌드를 사용하면 그게 작동할까요?

여기서 원하시는 결과를 알려주시면 어떨까요?

현재 사용 중인 인스턴스는 1.6 버전이지만, 제목을 보면 리빌드(rebuild)를 실행하여 업그레이드하려는 것으로 보입니다. 맞습니까? 그렇다면 네, 새 설치로 복원하는 것이 덜 고통스러울 것입니다.

업그레이드 대신 1.6 인스턴스를 시작하는 것만 원하신다면 조언이 달라집니다. 호스트명 변경이 섞이지 않는 한, 일반적으로 서버 간에 /var/discourse의 내용을 복사하면 됩니다. 대상 머신에 docker가 설치되어 있다면 ./launcher start를 사용하여 바로 시작할 수 있습니다.

저는 그냥 옛날 포럼에 접근할 수 있으면 됩니다. 새 설치로 이전되지 않은 게시글이 몇 개 있거든요 (백업이 약간 오래되었습니다).

해당 사용자에게 알려주고 싶었는데, 1.6 버전을 다시 구동할 수 없습니다. 업데이트를 원하지는 않았지만, 업데이트되어도 상관없습니다. 그냥 접근만 할 수 있으면 됩니다.

그런데 호스트명 변경이 있다면 어떻게 해야 하나요?

네. 작동할 것입니다.