2020년 11월 1일

한대의 서버에 테슬라메이트 3개 가동하기(~n개까지 무한가능)

 결론은 서로 다른 디렉토리에서의 docker-compose.yml 파일을 쓰면 가능하다.



[1번]

/home/ID/models/docker-compose.yml 파일을 만든다.


[2번]

/home/ID/modelx/docker-compose.yml 파일을 만든다.


[3번]

/home/ID/model3/docker-compose.yml 파일을 만든다.


docker-compose.yml 파일은 아래 색칠 부분만 각자 다르게 설정해야한다. 어떤값이든 상관없지만. 겹치지 않도록 9개의 서로다른 포트번호를 쓴다.  4000 ~ 60000 번 사이는 아무거나 상관없다.(물론 방화벽에서 사용하는 포트는 열어줘야하겠다)

docker-compose.yml (예시) 분홍색숫자 3개가 서버포트이며, 각각의 설정파일마다 서로 다르게 해야한다.

version: "3"

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=secret
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
    ports:
      - 4000:4000
    volumes:
      - ./import:/opt/app/import
    cap_drop:
      - all

  database:
    image: postgres:13
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=teslamate
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=secret
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
    ports:
      - 3000:3000
    volumes:
      - teslamate-grafana-data:/var/lib/grafana

  mosquitto:
    image: eclipse-mosquitto:1.6
    restart: always
    ports:
      - 1883:1883
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

volumes:
  teslamate-db:
  teslamate-grafana-data:
  mosquitto-conf:
  mosquitto-data:


예를들어  5000, 5001, 5002  로 했을 경우

http://내서버IP:5000   메인화면

http://내서버IP:5001   그라파나 데이터 표 분석화면

5002 는 데이터수집용이며 따로 사용되지는 않음.



이제 관리자 권한일 경우 아래와같이 바로실행 가능하겠다.

[models]

# cd /home/ID/models

$ docker-compose -f /home/ID/models/docker-compose.yml up -d


[modelx]

# cd /home/ID/modelx

$ docker-compose -f /home/ID/modelx/docker-compose.yml up -d


[model3]

# cd /home/ID/model3

$ docker-compose -f /home/ID/model3/docker-compose.yml up -d


백업이나 복원시에도 -f /설정파일경로  는 반드시 추가해주고 그 뒤로 나머지 명령어를 적어야하겠다.

댓글 2개:

  1. 안녕하세요 좋은정보 감사합니다.
    알려주신대로 따라해봤는데 마지막으로 up 한 포트로만 접속이 됩니다
    제가 사용한 서버는 시놀로지 입니다.
    놓친 부분이 있을까요?
    감사합니다.

    답글삭제
    답글
    1. 최초 실행시 설정값이 적용되어 컨테이너가 만들어집니다. 시놀로지를 사용하신다면, 도커앱에서 테슬라메이트 컨테이너를 찾아서 일시정지한 뒤에, 편집을 통해 포트번호와 환경변수를 설정할 수 있습니다. 해당값을 수정한 뒤에 실행하시면 됩니다.

      삭제

추천 게시물

Elisabeth Chaplin (1890~1982)

 프랑스의 예술가 집안에서 태어난 '엘리자베스 채플린'은, 10살 때 가족과 함께 이탈리아로 이사를 갔습니다. 우피치미술관을 방문하고 나서 미술에 푹 빠져버렸죠.  정식교육을 받지는 않았지만 그녀는 우피치미술관에서 명작들을 보고 따라그리...