관심 기술/docker
container에서 python 로그 출력
쁘로그램어
2018. 6. 15. 20:48
container 내부에 python print로 로그를 출력하는 코드가 있다.
docker logs <container>로 확인하면 로그가 출력 되지 않았다.
stackoverflow와 moby 프로젝트에 해결 방안이 나와있다.
https://github.com/moby/moby/issues/12447#issuecomment-94417192
# main.py
import time
print("App started")
i = 0
while True:
print("I'm actually alive: {0}".format(i))
time.sleep(1)
i += 1
# Dockerfile
FROM python
COPY main.py .
CMD python -u main.py
# docker image build & docker run
$ docker build --tag logging_test:0.1
$ docker run -d --name logging_test logging_test:0.1
# docker log
$ docker logs logging_test --tail 100 --follow
I'm actually alive: 1
I'm actually alive: 2
I'm actually alive: 3
I'm actually alive: 4
I'm actually alive: 5
I'm actually alive: 6
.............