“로컬 변경 사항… templates/postgres.template.yml”

Discourse가 시작되지 않습니다. 컨테이너 로그에는 다음이 표시됩니다:

ok: run: redis: (pid 47) 791s
ok: run: postgres: (pid 44) 791s
supervisor pid: 4051 unicorn pid: 4056
./config/unicorn_launcher: line 71: kill: (4056) - No such process
./config/unicorn_launcher: line 15: kill: (4056) - No such process
(4051) exiting
ok: run: redis: (pid 47) 793s
ok: run: postgres: (pid 44) 793s
supervisor pid: 4065 unicorn pid: 407

/var/discourse로 이동하여 ./launcher rebuild app을 실행해 보았으나, 다음과 같은 메시지가 반복적으로 표시됩니다:

Ensuring launcher is up to date
Updating Launcher...
Updating 721facb..34dd695
error: your local changes to the following files would be overwritten by merge: templates/postgres.template.yml
Please commit your changes or stash them before you merge.
Aborting
failed to update

이러한 문제가 발생한 이유는 무엇이며, 어떻게 해결할 수 있을까요?

데이터베이스 서버가 어디에 위치해 있나요?


이것이 .\launcher rebuild app 명령어 뒤에 필요한 인자를 결정합니다.


예를 들어, 호스트(127.0.0.1)의 Postgres 인스턴스를 사용하는 경우:

호스트 네트워킹을 사용하여 .\launcher rebuild app를 실행해야 합니다:

./launcher rebuild app --docker-args --net=host --skip-mac-address

제 데이터베이스 서버는 Discourse와 동일하며, 공식 설치 가이드를 따라 Discourse를 설치했습니다.

그 명령어는 동일한 오류를 표시합니다. 평소에는 잘 작동하는데 이상하네요.

@Ethsim2 파일을 홈 디렉터리로 cp(복사)한 후 /templates에서 삭제했습니다.

새로운 이슈는 이렇습니다: Discourse Online Updater & ./launcher rebuild app failed from Discourse gamification

free -h 명령은 무엇을 반환하나요?

흥미롭네요. 표준 설치의 경우 재빌드(rebuild) 인자가 필요하지 않아야 합니다.

또는, PostgreSQL 서버가 0.0.0.0에 있고 Discourse의 Docker가 네트워크 격리를 유지하기 위한 적절한 구성이 되어 있는 경우라면요.

이렇게 하려면 관련 Discourse Docker 컨테이너에서 유용하려면 app.yml에 마운트 설정을 추가해야 하지만, 이는 권장되지 않습니다


호스트 디렉터리에서 파일을 삭제하려면 항상 rm 명령을 사용할 수 있습니다.

네, /var/discourse/templates/postgres.template.yml 파일을 rm 명령으로 삭제했는데, 템플릿 파일이니까 아무 영향도 없겠죠?