container에서 python 로그 출력 :: 행복한 프로그래머

posted by 쁘로그램어 2018. 6. 15. 20:48

container 내부에 python print로 로그를 출력하는 코드가 있다.

docker logs <container>로 확인하면 로그가 출력 되지 않았다.


stackoverflow와 moby 프로젝트에 해결 방안이 나와있다.

https://stackoverflow.com/questions/29663459/python-app-does-not-print-anything-when-running-detached-in-docker

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

.............

'관심 기술 > docker' 카테고리의 다른 글

도커 Image build tag 관리  (0) 2018.07.11
docker-compose란?  (0) 2018.07.10
docker stats에서 Container Name 출력  (0) 2018.05.30
Docker Engine API 정리  (0) 2018.05.22
docker, Dockerfile cheat sheet  (0) 2018.05.17