실행 중인 GAE flex node 앱 수정

실행 중인 GAE flex node 앱 수정

우리는 버그를 추적하기 위한 쿼리 로깅을 활성화하기 위해 실행 중인 GAE 애플리케이션을 빠르게 변경하고 싶었습니다.

실행 중인 인스턴스에 SSH로 연결하면 docker 사용으로 인해 앱 코드가 저장된 위치를 찾기가 어려울 수 있습니다.

하는 동안이 지침컨테이너 인스턴스에서 셸을 시작할 수 있습니다. vim또는 이와 유사한 기능을 컨테이너에서 사용할 수 없으므로 코드를 수정할 수 없습니다.

다음은 앱을 찾을 수 있는 위치를 알아낸 방법입니다.

답변1

GAE 콘솔에서 사이드 메뉴로 이동하여App Engine -> Instances

기본 앱에 연결을 시도하지 않는 경우 왼쪽 상단의 드롭다운을 변경하세요.

그런 다음 SSH 버튼을 클릭하십시오.

Docker 이미지는 다음 위치에 저장되어 /var/lib/docker/overlay2있지만많은그들의.

앱이 포함된 파일을 찾으려면 프로젝트에 고유한 파일 이름을 선택하세요. 예를 들어 선택한 messageProcessor.js다음 해당 앱에 대한 모든 이미지를 검색합니다.

(SSH 사용자에게는 권한이 없으므로 해당 폴더에서 찾기를 실행하려면 sudo가 필요합니다)

sudo find /var/lib/docker/overlay2 -name messageProcessor.js

다음과 같은 하나의 결과만 얻을 수 있기를 바랍니다.

/var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/jobs/messageProcessor.js

이제 앱을 찾을 수 있는 위치를 알았으므로 파일을 편집할 수 있습니다.

sudo vi /var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/some/file/in/my/app.js

그런 다음 변경 사항을 적용하려면 앱을 다시 시작하세요.

# ps -ef | grep node
root     11152 11151  0 Sep13 ?        00:00:00 node /app/index.js
# sudo kill <the pid of your process>

관련 정보