2016-12-28 2 views
1

제 프로덕션 환경에서는 production.rb입니다. 내 로그 파일에 저장됩니다 구성한 : 나는 로컬로 실행하면로그가 docker 환경의 파일에 저장되지 않습니다.

config.logger = Logger.new('log/production.log') 

는 (명령 행 rails s -e production을 사용하여 서버를 시작). 모든 것이 잘 작동합니다. 하지만 도커 환경에서 실행하면 production.log이 인쇄되지 않습니다.

이 문제에 대해 도움을주십시오.

답변

2

production.log가 인쇄되지 않습니다.

어디를보고 있습니까? 호스트 또는 실행중인 도커 컨테이너에 있습니까?

기본적으로 파일은 컨테이너 파일 시스템에 생성됩니다.
호스트 (docker 데몬을 실행하는)에서 직접 볼 수있게하려면 먼저 mount an host directory as a data volume이 필요합니다.

docker run -d -P --name myapp -v /a/local/host/path:/path/to/log/in/container myimage 

그럼 당신은 /a/local/host/pathproduction.log을 볼 것입니다.

+0

호스트에없는 컨테이너를 확인했습니다. 소스 코드와 함께 동일한 디렉토리에 로그 파일을 저장합니다. –

+0

@ TrầnKimD your 어떻게 컨테이너를 체크인 했습니까? 당신이 일하는 임원 인 mycontainer bash를 했니? (http://stackoverflow.com/a/31580097/6309) – VonC

+0

예. 그건 사실이야. 그 명령을 실행하여 컨테이너의 디렉토리 응용 프로그램에 들어갑니다. –

관련 문제