我已经创建了一个用于运行java程序的奇点容器。一切似乎都正常,但我会得到以下警告:
(java:54036): dconf-CRITICAL **: 23:37:10.142: unable to create directory '/run/user/175387/dconf': Read-only file system. dconf will not work properly.从我的搜索中,我了解到dconf只是一个将配置设置存储在某个二进制文件中的系统。奇点容器是一个只读的文件系统,所以出现这样的问题对我来说并不奇怪。
当我调用奇点容器时,我可以从主机操作系统绑定目录。这些绑定目录可以是可写的。因此,我最好的猜测是,我需要做的就是更改dconf文件,使其位于这些绑定的、可写的目录中。因此,我的问题很简单,就是如何做到这一点。
顶级dconf帮助输出为:
Commands:
help Show this information
read Read the value of a key
list List the contents of a dir
write Change the value of a key
reset Reset the value of a key or dir
compile Compile a binary database from keyfiles
update Update the system databases
watch Watch a path for changes
dump Dump an entire subpath to stdout
load Populate a subpath from stdin所有这些似乎都与更改dconf文件的位置无关。
一种解决方法可能是构建一个可写的奇点容器。但是我更喜欢一种不同的解决方案来保持奇点容器为只读。
发布于 2021-06-02 02:24:21
最简单的解决方案,也是我用于从奇点容器运行的图形用户界面程序的解决方案,是使用-B /run/user/$UID将用户的run直接挂载到容器上。
如果您担心用户保留不需要的dconf设置,我建议使用--writable-tmpfs标志来创建一个tmpfs覆盖,该覆盖可用于修改容器镜像,直到该过程完成。
https://stackoverflow.com/questions/67732682
复制相似问题