정말 멋진 답변이었고, 다른 Docker 시스템 관리자들이 무엇을 중요하게 생각하는지, 그리고 그 정보를 어떻게 빠르게 파악하는지에 대한 통찰을 주신 점에 대해 진심으로 감사드립니다. 다만 Docker 명령어는 저에게 낯설지 않은 친구이고, 사실 제가 원했던 것은 다음 질문에 대한 단순한 ‘예’ 또는 ‘아니오’ 답변이었거든요.
제 이해가 맞는지 확인해 주세요. launcher run은 현재 실행 중인 컨테이너를 사용하지 않나요?
며칠 전 launcher run 명령어의 bash 트레이스를 분석하는 데 몇 시간을 보냈고, 제 분석이 정확한지 확인하고 싶었습니다. whoami 같은 단일 명령어를 실행하기 위해 완전히 새로운 컨테이너를 시작하는 launcher run의 동작은 예상하지 못했거든요. 더 무서운 점은, 이 명령어가 현재 실행 중인 컨테이너(실제 사이트를 실행 중인 컨테이너)에 대해 작동한다고 생각하고 실행했을 때, 실제로는 다른 컨테이너에 대한 정보를 반환하게 된다는 것입니다.
Docker 명령어를 사용하는 방식에 대해서는 전적으로 동의하며, 제가 만약 같은 상황이라면 그렇게 했을 것입니다. 하지만 $와 #의 차이를 모른다면 Docker 명령어와는 최대한 거리를 두고 launcher를 신뢰하는 것이 좋다고도 생각합니다.
질문 뒤에 '이것은 정말 멋지다’라고 외치고 싶은 것을 사전에 붙여넣는 방식을 좋아하신다는 걸 이제 알았으니, 저도 가끔 몰래 그렇게 해보겠습니다.
저도 docker run를 사용하고 있습니다(다만 launcher run은 사용하지 않음). 하지만 제 답변에서 언급했듯이, 저는 항상 docker exec를 사용하므로 docker run 뒤에 셸 명령어를 붙여 실행할 이유는 크게 찾지 못했습니다.
제가 docker exec를 사용하는 이유에 대해 답변드린 것을 "이슈를 떠들어대기 위한 구실"이라고 생각하신 점에 대해 죄송합니다. 저는 여러 프로젝트로 정말 바쁘기 때문에 이슈를 떠들어대기 위한 구실이 필요 없으며, launcher run을 Discourse 컨테이너에서 셸 명령어를 실행하는 데 사용하지 않고 제 답변에서 언급했듯이 docker exec만 사용하고 있으므로, 그저 여러분이 여러분의 작업을 완수할 수 있도록 돕고자 했을 뿐입니다.
launch run에 대해 구체적으로 질문하는 이유는, 자체 호스팅(self-hosting) 가능성을 검토하면서 다른 Discourse 관리자들을 위한 SOP 매뉴얼을 작성 중이기 때문입니다. 이를 위해 각 launcher 명령어를 자세히 이해하여 문서화해야 했습니다. 현재 SOP에는 launcher run을 사용하면 새 컨테이너가 생성되므로, launcher run을 사용하지 않도록 경고하는 내용이 포함되어 있습니다.