도커

도커

[도커] 컨테이너 SSH 포트 변경 및 확인

방법 1. config 수정 1. openssh-server가 설치되어있고 /etc/ssh/sshd_config를 수정하지 않았다면 아래 명령어로 수정 가능 sed -i 's/^#Port 22$/Port {target_port}/' /etc/ssh/sshd_config 2. 컨테이너 실행 시 아래 커맨드를 docker-compose.yaml에 포함시키면 됨 "command": [ "/bin/bash", "-c", "sed -i 's/^#Port 22$/Port {target_port}/' /etc/ssh/sshd_config && /usr/sbin/sshd && sleep infinity", ] 방법 2. ssh 실행 시 포트 지정 1. 컨테이너 실행 시 아래 커맨드를 docker-compose.yaml..

도커

[도커] 프로메테우스와 그라파나로 파이썬 프로그램 모니터링

from prometheus_client import Gauge, Info, start_http_server class MetricsAgent: def __init__(self): start_http_server(args.pc_port) # 1041 logging.info("starting pcsvr") 파이썬 패키지 prometheus_client를 이용하여 프로메테우스가 메트릭을 폴링해가도록 구현 프로메테우스 클라이언트가 동작하는 서버를 웹 브라우저로 접속하면 현재 쌓인 메트릭들을 볼 수 있음 global: scrape_interval: 15s # 메트릭 폴링 주기 scrape_configs: - job_name: "jobmgr" # 메트릭 컬렉션 이름 static_configs: - targets:..

도커

[도커] 컨테이너 타임존 설정

1. Dockerfile에 다음을 추가하여 tzdata 설치 apt-get install -y tzdata 2. 컨테이너 실행 시 환경변수 TZ 추가 - Docker를 이용해 실행 시 docker run --env TZ=Asia/Seoul {image_name} {command} - Docker Compose를 이용해 실행 시 environment: - TZ=Asia/Seoul

도커

[도커] 컴포즈 로그 출력 타임 아웃

도커 컴포즈로 로그를 출력하다보면 일정 시간 동안 출력할 로그가 없는 경우 이후부터 로그 출력이 동작하지 않을 때가 있는데, 아래와 같이 환경 변수를 넘겨주어 타임아웃을 늘려주면 됨 COMPOSE_HTTP_TIMEOUT={int} docker-compose logs {service_name} ex. 타임 아웃 = 하루, 로그 추적 (-f), 타임스탬프 출력 (-t), 대상 서비스 = service_1, service_2 COMPOSE_HTTP_TIMEOUT=86400 docker-compose logs -ft service_1 service_2

도커

[도커] docker stats 이름순으로 정렬 및 모니터링

watch 'docker stats --no-stream --format "table {{.Name}}\t{{.ID}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDs}}" | sort -k 1 -h'

IntegerString
'도커' 카테고리의 글 목록