노드 익스포터를 만들 때 포트를 변경할 수 있다.
내용이 그대로 들어간 압축파일은 다음과 같다.
build-node-exporter.sh : 이미지 만드는 파일
Dockerfile : 도커파일
remove-image.sh : 이미지 지우는 쉘 스크립트
docker-compose.yml : 컨테이너 만드는 파일
build-node-exporter.sh
#!/bin/bash
IMAGE_NAME=gyeongtae/node-exporter
IMAGE_TAG=0.01
IMAGE_NAME_TAG=$IMAGE_NAME:$IMAGE_TAG
if [[ "$(docker container ls -a --filter="status=exited" -q 2> /dev/null)" != "" ]]; then
docker rm $(docker container ls -a --filter="status=exited" -q)
fi
if [[ "$(docker images "dangling=true" -q 2> /dev/null)" != "" ]]; then
echo "Remove dangling images"
docker rmi $(docker images -f "dangling=true" -q)
fi
if [[ "$(docker container ls -q --filter "name=${CONTAINER_NAME}" 2> /dev/null)" != "" ]]; then
echo "Stop & Remove Container ${CONTAINER_NAME}"
docker stop $(docker container ls -q --filter "name=${CONTAINER_NAME}")
docker rm $(docker container ls -q --filter "name=${CONTAINER_NAME}")
fi
docker build \
-f ./node-exporter/node-exporter-dockerfile/Dockerfile \
-t $IMAGE_NAME_TAG .
Dockerfile
- 포트를 바꾸고 싶으면 entrypoint 부분에 있는 포트를 변경하면 된다.
- 그러면 노드 익스포터는 그 포트를 사용하게 된다.
FROM ubuntu:18.04
LABEL title="node-exporter"
LABEL maintainer="parkgyeongtae"
# apt 미러서버 미국(default) -> 한국 변경
RUN sed -i 's@archive.ubuntu.com@kr.archive.ubuntu.com@g' /etc/apt/sources.list
# 자주 사용하는 패키지 설치
RUN apt-get update && \
apt-get install wget -y
# 작업 영역
WORKDIR /home
# node exporter 1.3.1
RUN wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz && \
tar -zxf node_exporter-1.3.1.linux-amd64.tar.gz && \
mv node_exporter-1.3.1.linux-amd64 node_exporter && \
rm -rf node_exporter-1.3.1.linux-amd64.tar.gz
ENTRYPOINT /home/node_exporter/node_exporter --web.listen-address=:9988 & bash
remove-image.sh
#!/bin/bash
docker rmi -f gyeongtae/node-exporter:0.01
docker-compose.yml
version: '2.1'
services:
node-exporter:
hostname: node-exporter
container_name: node-exporter
image: gyeongtae/node-exporter:0.01
restart: always
stdin_open: true
tty: true
ports:
- 9988:9988
먼저, 도커 실행된 상태를 확인한다.
docker ps -a
docker images
실행된 컨테이너나 갖고있는 이미지가 없다.
이미지를 빌드해보자.
./node-exporter/node-exporter-build/build-node-exporter.sh
docker images
이미지가 하나 만들어졌다.
이제는 도커 컨테이너를 만들어보자.
docker-compose up -d
docker ps
도커 컨테이너가 잘 실행된 것을 확인할 수 있다.
이번에는 웹에 접속해보자.
'Database > Prometheus' 카테고리의 다른 글
[Prometheus] PromQL, Loki (0) | 2024.05.27 |
---|---|
[Prometheus] 기능 및 장단점 (0) | 2024.05.27 |
[Prometheus] 프로메테우스의 장점 (0) | 2023.05.13 |
[cadvisor] 도커 컨테이너로 cadvisor 설치하는 방법 (0) | 2022.04.02 |
[Node-Exporter] 노드 익스포터 도커 컨테이너로 설치하는 방법 (0) | 2022.04.02 |