도커 컨테이너가 실행되는 동안 생기는 로그를 다양한 방식으로 저장할 수 있다.
1. json 파일 로그
아래 명령어로 mysql 컨테이너를 실행한다.
docker run -d --name mysql \
-e MYSQL_ROOT_PASSWORD=1234 \
mysql:8
컨테이너 로그를 확인하는 방법은 logs 명령어를 사용하면 된다.
옵션으로 --tail(마지막 몇줄만 출력), --since(지정한 유닉스 타임 이후 부터의 로그만 출력), -f(실시간으로 출력) 등이 있다.
docker logs mysql
docker logs --tail 2 mysql
docker logs --since 1667206800 mysql
docker logs -f -t mysql
로그는 json 파일로 자동으로 저장된다.
cat /var/lib/docker/containers/컨테이너_아이디/컨테이너_아이디-json.log
(맥에서는 /var/lib/docker 폴더가 없다.)
2. syslog 로그
syslog : 리눅스/유닉스 계열에서 로그를 저장하는 도구
도커는 기본적으로 json 파일로 저장하지만, log driver를 설정해줄 수 있다.
docker run -d --name syslog_container --log-driver=syslog ubuntu:14:04 echo syslogtest
tail /var/log/syslog
우분투 버전에 따라 위치 다름
+ fluentd 나 AWS CloudWatch를 이용해 로그를 저장할 수도 있다.
컨테이너에 할당되는 자원 제한하기
1. 메모리 제한
최소 메모리는 4MB까지 설정할 수 있다.
docker run -d --memory="1g" --name memory_1g nginx
확인하기 위해서 inspect 명령어를 쓰면 된다.
docker inspect memory_1g | grep \"Memory\"
2. CPU 제한
docker run -i -t --name cpu_share --cpu_shares 1024 ubuntu:14.04
'도커 & 쿠버네티스' 카테고리의 다른 글
Docker ) 멀티 스테이지 빌드 (0) | 2022.11.19 |
---|---|
Dockerfile을 이용한 이미지 build (0) | 2022.11.16 |
도커 이미지 (0) | 2022.11.07 |
도커 port forwarding & 볼륨 (0) | 2022.10.24 |
[도커] 도커의 기본, 이미지와 컨테이너 (0) | 2022.10.19 |