我使用以下命令启动一个运行PostgreSQL的容器:
docker run -p 5432:5432 -d -it -e POSTGRES_USER='postgres' -e POSTGRES_PASSWORD='postgres' -e POSTGRES_DB='thingsboard' --name postgres postgres然后,我启动了ThingsBoard,提供了一些使用PostgreSQL数据库的环境变量:
docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -v ~/.mytb-data:/data -v ~/.mytb-logs:/var/logs/thingsboard --name thingsboard --restart always -e SPRING_DATASOURCE_URL=jdbc:postgresql://<MY_LOCAL_IP>:5432/thingsboard -e SPRING_DATASOURCE_USERNAME=postgres -e SPRING_DATASOURCE_PASSWORD=postgres thingsboard/tb-postgres其中<MY_LOCAL_IP>是我在本地网络上的IP地址。我检查了PostgreSQL,它实际上绑定到<MY_LOCAL_IP>:5432 (通过PGAdmin验证)。thingsboard容器返回一个错误:

我希望ThingsBoard自己在thingsboard数据库中创建表,但它似乎没有这样做。对此错误的可能原因有任何猜测吗?谢谢。
发布于 2020-06-17 23:12:16
问题似乎是由卷造成的:mytb-data和mytb-logs之前已经创建过,并且不是空的。只要我们使用以下命令启动thingsboard,容器就可以工作:
docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp --name thingsboard --restart always -e SPRING_DATASOURCE_URL=jdbc:postgresql://<MY_LOCAL_IP>:5432/thingsboard -e SPRING_DATASOURCE_USERNAME=postgres -e SPRING_DATASOURCE_PASSWORD=postgres thingsboard/tb-postgreshttps://stackoverflow.com/questions/62423942
复制相似问题