kafka-ui
kafka-ui copied to clipboard
Unable to mount volume for persistent installation
Issue submitter TODO list
- [X] I've looked up my issue in FAQ
- [X] I've searched for an already existing issues here
- [X] I've tried running
master
-labeled docker image and the issue still persists there - [X] I'm running a supported version of the application which is listed here
Describe the bug (actual behavior)
Whenever a volume is mounted to the docker container, it errors out with the following stack
Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts
_ _ ___ __ _ _ _ __ __ _
| | | |_ _| / _|___ _ _ /_\ _ __ __ _ __| |_ ___ | |/ /__ _ / _| |_____
| |_| || | | _/ _ | '_| / _ \| '_ / _` / _| ' \/ -_) | ' </ _` | _| / / _`|
\___/|___| |_| \___|_| /_/ \_| .__\__,_\__|_||_\___| |_|\_\__,_|_| |_\_\__,|
|_|
2024-05-28 21:12:57,409 ERROR [main] o.s.b.SpringApplication: Application run failed
org.yaml.snakeyaml.error.YAMLException: java.io.IOException: Is a directory
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:214)
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:172)
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:167)
at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:122)
at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:1204)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:320)
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:238)
at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:212)
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:162)
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:152)
at org.yaml.snakeyaml.composer.Composer.checkNode(Composer.java:109)
at org.yaml.snakeyaml.constructor.BaseConstructor.checkData(BaseConstructor.java:149)
at org.yaml.snakeyaml.Yaml$1.hasNext(Yaml.java:510)
at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:199)
at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:166)
at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:84)
at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50)
at com.provectus.kafka.ui.util.DynamicConfigOperations.loadDynamicPropertySource(DynamicConfigOperations.java:89)
at com.provectus.kafka.ui.util.DynamicConfigOperations.lambda$dynamicConfigPropertiesInitializer$1(DynamicConfigOperations.java:58)
at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:607)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:387)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:311)
at com.provectus.kafka.ui.KafkaUiApplication.startApplication(KafkaUiApplication.java:24)
at com.provectus.kafka.ui.KafkaUiApplication.main(KafkaUiApplication.java:17)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:95)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Suppressed: java.io.IOException: Is a directory
at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at java.base/sun.nio.ch.FileDispatcherImpl.read(FileDispatcherImpl.java:48)
at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:330)
at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:296)
at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:273)
at java.base/sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:232)
at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:107)
at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:101)
at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132)
at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:182)
at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:85)
at org.yaml.snakeyaml.reader.UnicodeReader.close(UnicodeReader.java:112)
at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:198)
... 18 common frames omitted
Caused by: java.io.IOException: Is a directory
at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at java.base/sun.nio.ch.FileDispatcherImpl.read(FileDispatcherImpl.java:48)
at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:330)
at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:296)
at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:273)
at java.base/sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:232)
at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:107)
at java.base/sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:101)
at java.base/java.io.FilterInputStream.read(FilterInputStream.java:132)
at java.base/java.io.PushbackInputStream.read(PushbackInputStream.java:182)
at org.yaml.snakeyaml.reader.UnicodeReader.init(UnicodeReader.java:85)
at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:117)
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:179)
... 31 common frames omitted
Expected behavior
The volume should get mounted and persistent installation should proceed
Your installation details
- Used
:latest
as well as explicitly specifyingv0.7.2
- Used volumes
~/kui/config.yml:/etc/kafkaui/dynamic_config.yaml
in dockercompose - Used
--mount source=kafka-ui-config,target=/etc/kafkaui/dynamic_config.yaml
while using docker run
Steps to reproduce
DockerCompose YAML
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
environment:
DYNAMIC_CONFIG_ENABLED: 'true'
volumes:
- ~/kui/config.yml:/etc/kafkaui/dynamic_config.yaml
NOTE: I have a config file at ~/kui/config.yml
Docker run
sudo docker volume create kafka-ui-config
sudo docker run -it -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true --mount source=kafka-ui-config,target=/etc/kafkaui/dynamic_config.yaml provectuslabs/kafka-ui
Screenshots
No response
Logs
No response
Additional context
No response