快速创建多个teslamate的docker run 命令
创建5个:
# 创建共享网络
docker network create teslamate-net
# === 实例1 ===
# PostgreSQL 1
docker run -d \
--name teslamate-db1 \
--network teslamate-net \
-e POSTGRES_USER=teslamate1 \
-e POSTGRES_PASSWORD=secret1 \
-e POSTGRES_DB=teslamate1 \
-v teslamate-db1:/var/lib/postgresql/data \
postgres:14
# MQTT 1
docker run -d \
--name teslamate-mqtt1 \
--network teslamate-net \
-p 1883:1883 \
-v teslamate-mqtt-data1:/mosquitto/data \
eclipse-mosquitto:2
# Grafana 1
docker run -d \
--name teslamate-grafana1 \
--network teslamate-net \
-p 3000:3000 \
-e DATABASE_USER=teslamate1 \
-e DATABASE_PASS=secret1 \
-e DATABASE_NAME=teslamate1 \
-e DATABASE_HOST=teslamate-db1 \
-v teslamate-grafana-data1:/var/lib/grafana \
teslamate/grafana:latest
# TeslaMate 1
docker run -d \
--name teslamate1 \
--network teslamate-net \
-p 4000:4000 \
-e DATABASE_USER=teslamate1 \
-e DATABASE_PASS=secret1 \
-e DATABASE_NAME=teslamate1 \
-e DATABASE_HOST=teslamate-db1 \
-e MQTT_HOST=teslamate-mqtt1 \
-e TZ=Asia/Shanghai \
teslamate/teslamate:latest
# === 实例2 ===
# PostgreSQL 2
docker run -d \
--name teslamate-db2 \
--network teslamate-net \
-e POSTGRES_USER=teslamate2 \
-e POSTGRES_PASSWORD=secret2 \
-e POSTGRES_DB=teslamate2 \
-v teslamate-db2:/var/lib/postgresql/data \
postgres:14
# MQTT 2
docker run -d \
--name teslamate-mqtt2 \
--network teslamate-net \
-p 1884:1883 \
-v teslamate-mqtt-data2:/mosquitto/data \
eclipse-mosquitto:2
# Grafana 2
docker run -d \
--name teslamate-grafana2 \
--network teslamate-net \
-p 3001:3000 \
-e DATABASE_USER=teslamate2 \
-e DATABASE_PASS=secret2 \
-e DATABASE_NAME=teslamate2 \
-e DATABASE_HOST=teslamate-db2 \
-v teslamate-grafana-data2:/var/lib/grafana \
teslamate/grafana:latest
# TeslaMate 2
docker run -d \
--name teslamate2 \
--network teslamate-net \
-p 4001:4000 \
-e DATABASE_USER=teslamate2 \
-e DATABASE_PASS=secret2 \
-e DATABASE_NAME=teslamate2 \
-e DATABASE_HOST=teslamate-db2 \
-e MQTT_HOST=teslamate-mqtt2 \
-e TZ=Asia/Shanghai \
teslamate/teslamate:latest
# === 实例3 ===
# PostgreSQL 3
docker run -d \
--name teslamate-db3 \
--network teslamate-net \
-e POSTGRES_USER=teslamate3 \
-e POSTGRES_PASSWORD=secret3 \
-e POSTGRES_DB=teslamate3 \
-v teslamate-db3:/var/lib/postgresql/data \
postgres:14
# MQTT 3
docker run -d \
--name teslamate-mqtt3 \
--network teslamate-net \
-p 1885:1883 \
-v teslamate-mqtt-data3:/mosquitto/data \
eclipse-mosquitto:2
# Grafana 3
docker run -d \
--name teslamate-grafana3 \
--network teslamate-net \
-p 3002:3000 \
-e DATABASE_USER=teslamate3 \
-e DATABASE_PASS=secret3 \
-e DATABASE_NAME=teslamate3 \
-e DATABASE_HOST=teslamate-db3 \
-v teslamate-grafana-data3:/var/lib/grafana \
teslamate/grafana:latest
# TeslaMate 3
docker run -d \
--name teslamate3 \
--network teslamate-net \
-p 4002:4000 \
-e DATABASE_USER=teslamate3 \
-e DATABASE_PASS=secret3 \
-e DATABASE_NAME=teslamate3 \
-e DATABASE_HOST=teslamate-db3 \
-e MQTT_HOST=teslamate-mqtt3 \
-e TZ=Asia/Shanghai \
teslamate/teslamate:latest
# === 实例4 ===
# PostgreSQL 4
docker run -d \
--name teslamate-db4 \
--network teslamate-net \
-e POSTGRES_USER=teslamate4 \
-e POSTGRES_PASSWORD=secret4 \
-e POSTGRES_DB=teslamate4 \
-v teslamate-db4:/var/lib/postgresql/data \
postgres:14
# MQTT 4
docker run -d \
--name teslamate-mqtt4 \
--network teslamate-net \
-p 1886:1883 \
-v teslamate-mqtt-data4:/mosquitto/data \
eclipse-mosquitto:2
# Grafana 4
docker run -d \
--name teslamate-grafana4 \
--network teslamate-net \
-p 3003:3000 \
-e DATABASE_USER=teslamate4 \
-e DATABASE_PASS=secret4 \
-e DATABASE_NAME=teslamate4 \
-e DATABASE_HOST=teslamate-db4 \
-v teslamate-grafana-data4:/var/lib/grafana \
teslamate/grafana:latest
# TeslaMate 4
docker run -d \
--name teslamate4 \
--network teslamate-net \
-p 4003:4000 \
-e DATABASE_USER=teslamate4 \
-e DATABASE_PASS=secret4 \
-e DATABASE_NAME=teslamate4 \
-e DATABASE_HOST=teslamate-db4 \
-e MQTT_HOST=teslamate-mqtt4 \
-e TZ=Asia/Shanghai \
teslamate/teslamate:latest
# === 实例5 ===
# PostgreSQL 5
docker run -d \
--name teslamate-db5 \
--network teslamate-net \
-e POSTGRES_USER=teslamate5 \
-e POSTGRES_PASSWORD=secret5 \
-e POSTGRES_DB=teslamate5 \
-v teslamate-db5:/var/lib/postgresql/data \
postgres:14
# MQTT 5
docker run -d \
--name teslamate-mqtt5 \
--network teslamate-net \
-p 1887:1883 \
-v teslamate-mqtt-data5:/mosquitto/data \
eclipse-mosquitto:2
# Grafana 5
docker run -d \
--name teslamate-grafana5 \
--network teslamate-net \
-p 3004:3000 \
-e DATABASE_USER=teslamate5 \
-e DATABASE_PASS=secret5 \
-e DATABASE_NAME=teslamate5 \
-e DATABASE_HOST=teslamate-db5 \
-v teslamate-grafana-data5:/var/lib/grafana \
teslamate/grafana:latest
# TeslaMate 5
docker run -d \
--name teslamate5 \
--network teslamate-net \
-p 4004:4000 \
-e DATABASE_USER=teslamate5 \
-e DATABASE_PASS=secret5 \
-e DATABASE_NAME=teslamate5 \
-e DATABASE_HOST=teslamate-db5 \
-e MQTT_HOST=teslamate-mqtt5 \
-e TZ=Asia/Shanghai \
teslamate/teslamate:latest
创建10个:
# 创建网络
docker network create teslamate
# === 实例1 端口:4000/3000/1883 ===
docker run -d --name db1 --network teslamate -e POSTGRES_USER=tm1 -e POSTGRES_PASSWORD=secret1 -e POSTGRES_DB=tm1 -v tm1-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt1 --network teslamate -p 1883:1883 -v tm1-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana1 --network teslamate -p 3000:3000 -e DATABASE_USER=tm1 -e DATABASE_PASS=secret1 -e DATABASE_NAME=tm1 -e DATABASE_HOST=db1 -v tm1-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate1 --network teslamate -p 4000:4000 -e DATABASE_USER=tm1 -e DATABASE_PASS=secret1 -e DATABASE_NAME=tm1 -e DATABASE_HOST=db1 -e MQTT_HOST=mqtt1 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例2 端口:4001/3001/1884 ===
docker run -d --name db2 --network teslamate -e POSTGRES_USER=tm2 -e POSTGRES_PASSWORD=secret2 -e POSTGRES_DB=tm2 -v tm2-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt2 --network teslamate -p 1884:1883 -v tm2-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana2 --network teslamate -p 3001:3000 -e DATABASE_USER=tm2 -e DATABASE_PASS=secret2 -e DATABASE_NAME=tm2 -e DATABASE_HOST=db2 -v tm2-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate2 --network teslamate -p 4001:4000 -e DATABASE_USER=tm2 -e DATABASE_PASS=secret2 -e DATABASE_NAME=tm2 -e DATABASE_HOST=db2 -e MQTT_HOST=mqtt2 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例3 端口:4002/3002/1885 ===
docker run -d --name db3 --network teslamate -e POSTGRES_USER=tm3 -e POSTGRES_PASSWORD=secret3 -e POSTGRES_DB=tm3 -v tm3-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt3 --network teslamate -p 1885:1883 -v tm3-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana3 --network teslamate -p 3002:3000 -e DATABASE_USER=tm3 -e DATABASE_PASS=secret3 -e DATABASE_NAME=tm3 -e DATABASE_HOST=db3 -v tm3-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate3 --network teslamate -p 4002:4000 -e DATABASE_USER=tm3 -e DATABASE_PASS=secret3 -e DATABASE_NAME=tm3 -e DATABASE_HOST=db3 -e MQTT_HOST=mqtt3 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例4 端口:4003/3003/1886 ===
docker run -d --name db4 --network teslamate -e POSTGRES_USER=tm4 -e POSTGRES_PASSWORD=secret4 -e POSTGRES_DB=tm4 -v tm4-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt4 --network teslamate -p 1886:1883 -v tm4-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana4 --network teslamate -p 3003:3000 -e DATABASE_USER=tm4 -e DATABASE_PASS=secret4 -e DATABASE_NAME=tm4 -e DATABASE_HOST=db4 -v tm4-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate4 --network teslamate -p 4003:4000 -e DATABASE_USER=tm4 -e DATABASE_PASS=secret4 -e DATABASE_NAME=tm4 -e DATABASE_HOST=db4 -e MQTT_HOST=mqtt4 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例5 端口:4004/3004/1887 ===
docker run -d --name db5 --network teslamate -e POSTGRES_USER=tm5 -e POSTGRES_PASSWORD=secret5 -e POSTGRES_DB=tm5 -v tm5-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt5 --network teslamate -p 1887:1883 -v tm5-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana5 --network teslamate -p 3004:3000 -e DATABASE_USER=tm5 -e DATABASE_PASS=secret5 -e DATABASE_NAME=tm5 -e DATABASE_HOST=db5 -v tm5-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate5 --network teslamate -p 4004:4000 -e DATABASE_USER=tm5 -e DATABASE_PASS=secret5 -e DATABASE_NAME=tm5 -e DATABASE_HOST=db5 -e MQTT_HOST=mqtt5 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例6 端口:4005/3005/1888 ===
docker run -d --name db6 --network teslamate -e POSTGRES_USER=tm6 -e POSTGRES_PASSWORD=secret6 -e POSTGRES_DB=tm6 -v tm6-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt6 --network teslamate -p 1888:1883 -v tm6-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana6 --network teslamate -p 3005:3000 -e DATABASE_USER=tm6 -e DATABASE_PASS=secret6 -e DATABASE_NAME=tm6 -e DATABASE_HOST=db6 -v tm6-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate6 --network teslamate -p 4005:4000 -e DATABASE_USER=tm6 -e DATABASE_PASS=secret6 -e DATABASE_NAME=tm6 -e DATABASE_HOST=db6 -e MQTT_HOST=mqtt6 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例7 端口:4006/3006/1889 ===
docker run -d --name db7 --network teslamate -e POSTGRES_USER=tm7 -e POSTGRES_PASSWORD=secret7 -e POSTGRES_DB=tm7 -v tm7-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt7 --network teslamate -p 1889:1883 -v tm7-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana7 --network teslamate -p 3006:3000 -e DATABASE_USER=tm7 -e DATABASE_PASS=secret7 -e DATABASE_NAME=tm7 -e DATABASE_HOST=db7 -v tm7-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate7 --network teslamate -p 4006:4000 -e DATABASE_USER=tm7 -e DATABASE_PASS=secret7 -e DATABASE_NAME=tm7 -e DATABASE_HOST=db7 -e MQTT_HOST=mqtt7 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例8 端口:4007/3007/1890 ===
docker run -d --name db8 --network teslamate -e POSTGRES_USER=tm8 -e POSTGRES_PASSWORD=secret8 -e POSTGRES_DB=tm8 -v tm8-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt8 --network teslamate -p 1890:1883 -v tm8-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana8 --network teslamate -p 3007:3000 -e DATABASE_USER=tm8 -e DATABASE_PASS=secret8 -e DATABASE_NAME=tm8 -e DATABASE_HOST=db8 -v tm8-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate8 --network teslamate -p 4007:4000 -e DATABASE_USER=tm8 -e DATABASE_PASS=secret8 -e DATABASE_NAME=tm8 -e DATABASE_HOST=db8 -e MQTT_HOST=mqtt8 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例9 端口:4008/3008/1891 ===
docker run -d --name db9 --network teslamate -e POSTGRES_USER=tm9 -e POSTGRES_PASSWORD=secret9 -e POSTGRES_DB=tm9 -v tm9-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt9 --network teslamate -p 1891:1883 -v tm9-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana9 --network teslamate -p 3008:3000 -e DATABASE_USER=tm9 -e DATABASE_PASS=secret9 -e DATABASE_NAME=tm9 -e DATABASE_HOST=db9 -v tm9-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate9 --network teslamate -p 4008:4000 -e DATABASE_USER=tm9 -e DATABASE_PASS=secret9 -e DATABASE_NAME=tm9 -e DATABASE_HOST=db9 -e MQTT_HOST=mqtt9 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# === 实例10 端口:4009/3009/1892 ===
docker run -d --name db10 --network teslamate -e POSTGRES_USER=tm10 -e POSTGRES_PASSWORD=secret10 -e POSTGRES_DB=tm10 -v tm10-db:/var/lib/postgresql/data postgres:14
docker run -d --name mqtt10 --network teslamate -p 1892:1883 -v tm10-mqtt:/mosquitto/data eclipse-mosquitto:2
docker run -d --name grafana10 --network teslamate -p 3009:3000 -e DATABASE_USER=tm10 -e DATABASE_PASS=secret10 -e DATABASE_NAME=tm10 -e DATABASE_HOST=db10 -v tm10-grafana:/var/lib/grafana teslamate/grafana:latest
docker run -d --name teslamate10 --network teslamate -p 4009:4000 -e DATABASE_USER=tm10 -e DATABASE_PASS=secret10 -e DATABASE_NAME=tm10 -e DATABASE_HOST=db10 -e MQTT_HOST=mqtt10 -e TZ=Asia/Shanghai teslamate/teslamate:latest
# 快速停止和删除所有容器的命令:
# docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
每个实例的访问端口:
实例1: http://IP:4000 (TeslaMate) http://IP:3000 (Grafana) 1883(MQTT)
实例2: http://IP:4001 (TeslaMate) http://IP:3001 (Grafana) 1884(MQTT)
实例3: http://IP:4002 (TeslaMate) http://IP:3002 (Grafana) 1885(MQTT)
实例4: http://IP:4003 (TeslaMate) http://IP:3003 (Grafana) 1886(MQTT)
实例5: http://IP:4004 (TeslaMate) http://IP:3004 (Grafana) 1887(MQTT)
实例6: http://IP:4005 (TeslaMate) http://IP:3005 (Grafana) 1888(MQTT)
实例7: http://IP:4006 (TeslaMate) http://IP:3006 (Grafana) 1889(MQTT)
实例8: http://IP:4007 (TeslaMate) http://IP:3007 (Grafana) 1890(MQTT)
实例9: http://IP:4008 (TeslaMate) http://IP:3008 (Grafana) 1891(MQTT)
实例10: http://IP:4009 (TeslaMate) http://IP:3009 (Grafana) 1892(MQTT)
如需删除所有容器:
docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
评论区(暂无评论)