thingsboard: With image thingsboard/tb-postgres:latest, thingsboard_3.1 docker failed to start
I download the latest thingsboad image using “docker pull thingsboard/tb-postgres”. Then I run the command given by the dockerhub, “docker run -it -p 8080:9090 -p 1883:1883 -p 5683:5683/udp -v ~/.mytb-data:/data -v ~/.mytb-logs:/var/logs/thingsboard --name mytb --restart always thingsboard/tb-postgres”.
But my thingsboard start failed. The previous version of thingsboard docker has been installed on my system, and it can start normally. Now I deleted the previous docker and image, downloaded the latest image, but docker cannot start
Below is the errors:
mkdir: cannot create directory ‘/data/db’: Permission denied, The files belonging to this database system will be owned by user "thingsboard"., This user must also own the server process., , The database cluster will be initialized with locale "C.UTF-8"., The default database encoding has accordingly been set to "UTF8"., The default text search configuration will be set to "english"., , Data page checksums are disabled., , initdb: could not create directory "/data/db": Permission denied, pg_ctl: database system initialization failed, psql: could not connect to server: No such file or directory, Is the server running locally and accepting, connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?, creating directory /data/db ... Starting ThingsBoard installation ..., OpenJDK 64-Bit Server VM warning: Cannot open file /var/log/thingsboard/gc.log due to Permission denied, , 02:19:29,147 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml], 02:19:29,148 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy], 02:19:29,149 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/usr/share/thingsboard/conf/logback.xml], 02:19:29,403 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set, 02:19:29,430 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/usr/share/thingsboard/conf/logback.xml] , 02:19:29,430 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 10 seconds, 02:19:29,458 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender], 02:19:29,467 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [fileLogAppender], 02:19:29,487 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2052001577 - setting totalSizeCap to 3 GB, 02:19:29,508 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2052001577 - Archive files will be limited to [100 MB] each., 02:19:29,556 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2052001577 - No compression will be used, 02:19:29,558 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2052001577 - Will use the pattern /var/log/thingsboard/thingsboard.%d{yyyy-MM-dd}.%i.log for the active file, 02:19:29,561 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45283ce2 - The date pattern is 'yyyy-MM-dd' from file name pattern '/var/log/thingsboard/thingsboard.%d{yyyy-MM-dd}.%i.log'., 02:19:29,561 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45283ce2 - Roll-over at midnight., 02:19:29,564 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45283ce2 - Setting initial period to Fri Aug 21 02:19:29 UTC 2020, 02:19:29,566 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property, 02:19:29,591 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[fileLogAppender] - Active log file name: /var/log/thingsboard/thingsboard.log, 02:19:29,591 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[fileLogAppender] - File property is set to [/var/log/thingsboard/thingsboard.log], 02:19:29,592 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[fileLogAppender] - openFile(/var/log/thingsboard/thingsboard.log,true) call failed. java.io.FileNotFoundException: /var/log/thingsboard/thingsboard.log (Permission denied), at java.io.FileNotFoundException: /var/log/thingsboard/thingsboard.log (Permission denied), at at java.io.FileOutputStream.open0(Native Method), at at java.io.FileOutputStream.open(FileOutputStream.java:270), at at java.io.FileOutputStream.<init>(FileOutputStream.java:213), at at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:26), at at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:204), at at ch.qos.logback.core.FileAppender.start(FileAppender.java:127), at at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:100), at at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:90), at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309), at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193), at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179), at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62), at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165), at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152), at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110), at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53), at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75), at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150), at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84), at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55), at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129), at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108), at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302), at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276), at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288), at at org.thingsboard.server.ThingsboardInstallApplication.<clinit>(ThingsboardInstallApplication.java:27), at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), at at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), at at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), at at java.lang.reflect.Method.invoke(Method.java:498), at at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48), at at org.springframework.boot.loader.Launcher.launch(Launcher.java:87), at at org.springframework.boot.loader.Launcher.launch(Launcher.java:51), at at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:597), 02:19:29,592 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender], 02:19:29,594 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT], 02:19:29,594 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property, 02:19:29,595 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.thingsboard.server] to INFO, 02:19:29,595 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.microsoft.azure.servicebus.primitives.CoreMessageReceiver] to OFF, 02:19:29,596 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO, 02:19:29,596 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [fileLogAppender] to Logger[ROOT], 02:19:29,596 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT], 02:19:29,596 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration., 02:19:29,597 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2077d4de - Registering current configuration as safe fallback point, , Logging system failed to initialize using configuration from '/usr/share/thingsboard/bin/install/logback.xml', java.lang.IllegalStateException: Logback configuration error detected: , ERROR in ch.qos.logback.core.rolling.RollingFileAppender[fileLogAppender] - openFile(/var/log/thingsboard/install.log,true) call failed. java.io.FileNotFoundException: /var/log/thingsboard/install.log (Permission denied), at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169), at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSpecificConfig(AbstractLoggingSystem.java:66), at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:57), at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118), at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:318), at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288), at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:246), at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:223), at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172), at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165), at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139), at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127), at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76), at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53), at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345), at org.springframework.boot.SpringApplication.run(SpringApplication.java:308), at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140), at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:203), at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:114), at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:71), at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172), at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165), at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139), at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127), at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76), at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53), at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345), at org.springframework.boot.SpringApplication.run(SpringApplication.java:308), at org.thingsboard.server.ThingsboardInstallApplication.main(ThingsboardInstallApplication.java:43), at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), at java.lang.reflect.Method.invoke(Method.java:498), at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48), at org.springframework.boot.loader.Launcher.launch(Launcher.java:87), at org.springframework.boot.loader.Launcher.launch(Launcher.java:51), at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:597), java.lang.IllegalStateException: Logback configuration error detected: , ERROR in ch.qos.logback.core.rolling.RollingFileAppender[fileLogAppender] - openFile(/var/log/thingsboard/install.log,true) call failed. java.io.FileNotFoundException: /var/log/thingsboard/install.log (Permission denied), /usr/bin/install-tb.sh: line 56: /data/.upgradeversion: Permission denied, touch: cannot touch '/data/.firstlaunch': Permission denied, Starting ThingsBoard ..., OpenJDK 64-Bit Server VM warning: Cannot open file /var/log/thingsboard/gc.log due to Permission denied,
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 21 (5 by maintainers)
@qwyinxiang please try following docker-compose.yml file.
@AngeLinuX99 Please execute following commands:
… … mytb_1 | pg_ctl: could not open PID file “/data/db/postmaster.pid”: Permission denied … …
Make sure you have done this -> Don’t forget to add your linux user to the docker group. See Manage Docker as a non-root user. It solved the issue for me.
@AngeLinuX99 try to remove mytb-data & mytb-logs folder and recreate it with commands that I provided above
Please make sure you have executed following commands: sudo chown -R 799:799 ~/.mytbpe-data sudo chown -R 799:799 ~/.mytbpe-logs