0부터 시작하는 Docker 공부 - Docker Monitering - Portainer

Jaehong Lee·2022년 8월 24일
0
post-thumbnail

1. docker.sock

p. 340

  • Docker daemon 에게 Cli 가 명령을 전달하기 위해 통신할 때는 Unix 소캣 을 사용하는데, 이때 사용하는 Unix 소캣이 docker.sock 이다

    • 이 파일 안에는 daemon 과 통신한 Data 가 저장되있다
    • 해당 파일을 통해 통신 Data 를 기반으로 Docker 모니터링이 가능하다
    • docker.sock 는 Docker API의 주요 진입 점으로 Docker cli 클라이언트는 이 소캣을 사용하여 Docker 명령을 전달하여 명령을 실행하게 한다. 보안상의 이유로 기본적으로 UNIX 소캣을 사용한다
  • 이를 이용해 간단하게 현재 local Docker Data 를 Monitering 해보자

  • docker.sock 는 Cli 클라이언트와 Docker daemon 사이의 통신 Data 만을 담고 있으므로, Docker 내부 ( containerd 밑의 정보 ) 의 Data 는 담겨있지 않다. 따라서 portainer 에서 컨테이너 안의 Data 나 Docker 내부의 Data 는 확인할 수 없다

    • 이는, 따로 Agent 를 설치하여 Monitering 이 가능하게 할 수 있다

2. portainer 배포하기

docker container run -d --restart always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer
  • 위 코드를 통해 Monitering 을 위한 portainer 를 배포해보자

  • docker.sock 파일을 Mount 하여, Docker daemon 과의 통신 Data 를 통해 Monitering 을 하고, 이를 Port 연결을 통해 Web 에서 확인 가능하게 한다

3. portainer 사용하기

  • 9000 번 Port 로 접속하자
  • Docker 와 연결시키면, 다음과 같이 현재 local 에 설치된 Docker 를 Monitering 할 수 있다
    • 위와 같이 컨테이너, 이미지의 상태 관리도 가능하다

  • 여러 기능을 확인해보자
profile
멋진 엔지니어가 될 때까지

0개의 댓글