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

      삭제

추천 게시물

진포 해양테마 공원(위봉함)

  진포 해양테마 공원(위봉함) 고려 말 최무선 장군이 함포를 만들어 왜선을 500여 척이나 물리쳤던 진포대첩을 기념하기 위하여 2008년에 개관한 해양공원이다. 주소 : 전북특별자치도 군산시 내항2길 32 문의처: 063-454-7870 소개 군산 ...