为什么 inputs.conf 变化在 docker 外面看起来很好,但在 docker 里面看起来不对?
Why does inputs.conf change look fine outside docker, but look wrong inside docker?
我有这个工作,但它不再工作了,我有点怀疑 docker 音量问题以及有点怀疑权限问题,也有点怀疑 OS 升级.但是我真的不知道是什么问题
在 splunk 容器内,我看到:
[root@splunk splunk]# cat /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf
[http]
disabled = 0
[http://splunk_hec_token]
disabled = 0
token = really-big-token-thingie
这真的不是我想要的。
在 splunk 容器外(在 MacOS 端),我看到:
$ cat splunk-files/opt-splunk-etc-apps-splunk_httpinput-local/inputs.conf
cmd output started 2022 Mon May 02 04:19:43 PM PDT
[http]
disabled = 0
[http://splunk_hec_token]
disabled = 0
token = really-big-token-thingie
index = dev_game-publishing
这就是我想要的。
在我的 docker-compose 中,我有(除其他外):
volumes:
- ./splunk-files/opt-splunk-etc-apps-splunk_httpinput-local/ /opt/splunk/etc/apps/splunk_httpinput/local/
(那条长长的卷线都是一行,看的时候可能是折行,也可能不是折行,虽然在这个编辑器里是折行)
我试过为整个目录设置一个卷,也试过只为那个文件设置一个卷。我听说做一个完整的目录往往更可靠,但两者都以同样的方式失败。
包含该文件的目录归 splunk 所有并具有限制性权限:
[ansible@splunk splunk]$ cat /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf
cat: /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf: Permission denied
[ansible@splunk splunk]$ ls -l /opt/splunk/etc/apps/splunk_httpinput/
total 12
drwxr-xr-x 2 splunk splunk 4096 Jan 15 03:31 default
drwx------ 2 splunk splunk 4096 May 2 22:14 local
drwx------ 2 splunk splunk 4096 May 2 22:14 metadata
[ansible@splunk splunk]$
这就解释了为什么 ansible 用户不能 cat 它。但是 ansible 是否将自己绘画到一个角落并阻止自己进行我需要的所有更改?
我还从 MacOS 11.x 升级到 12.3,这期间它正在工作,当它停止时。不知道有没有关系
如何自动在容器中获取所需的内容?
感谢所有建议!
您的音量规格似乎已损坏。通常你用冒号将主机路径连接到容器路径。
volumes:
- ./splunk-files/opt-splunk-etc-apps-splunk_httpinput-local:/opt/splunk/etc/apps/splunk_httpinput/local
我想这就是为什么在图像中您会看到此目录的默认内容,因为您的本地目录从未正确挂载过。
我有这个工作,但它不再工作了,我有点怀疑 docker 音量问题以及有点怀疑权限问题,也有点怀疑 OS 升级.但是我真的不知道是什么问题
在 splunk 容器内,我看到:
[root@splunk splunk]# cat /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf
[http]
disabled = 0
[http://splunk_hec_token]
disabled = 0
token = really-big-token-thingie
这真的不是我想要的。
在 splunk 容器外(在 MacOS 端),我看到:
$ cat splunk-files/opt-splunk-etc-apps-splunk_httpinput-local/inputs.conf
cmd output started 2022 Mon May 02 04:19:43 PM PDT
[http]
disabled = 0
[http://splunk_hec_token]
disabled = 0
token = really-big-token-thingie
index = dev_game-publishing
这就是我想要的。
在我的 docker-compose 中,我有(除其他外):
volumes:
- ./splunk-files/opt-splunk-etc-apps-splunk_httpinput-local/ /opt/splunk/etc/apps/splunk_httpinput/local/
(那条长长的卷线都是一行,看的时候可能是折行,也可能不是折行,虽然在这个编辑器里是折行)
我试过为整个目录设置一个卷,也试过只为那个文件设置一个卷。我听说做一个完整的目录往往更可靠,但两者都以同样的方式失败。
包含该文件的目录归 splunk 所有并具有限制性权限:
[ansible@splunk splunk]$ cat /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf
cat: /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf: Permission denied
[ansible@splunk splunk]$ ls -l /opt/splunk/etc/apps/splunk_httpinput/
total 12
drwxr-xr-x 2 splunk splunk 4096 Jan 15 03:31 default
drwx------ 2 splunk splunk 4096 May 2 22:14 local
drwx------ 2 splunk splunk 4096 May 2 22:14 metadata
[ansible@splunk splunk]$
这就解释了为什么 ansible 用户不能 cat 它。但是 ansible 是否将自己绘画到一个角落并阻止自己进行我需要的所有更改?
我还从 MacOS 11.x 升级到 12.3,这期间它正在工作,当它停止时。不知道有没有关系
如何自动在容器中获取所需的内容?
感谢所有建议!
您的音量规格似乎已损坏。通常你用冒号将主机路径连接到容器路径。
volumes:
- ./splunk-files/opt-splunk-etc-apps-splunk_httpinput-local:/opt/splunk/etc/apps/splunk_httpinput/local
我想这就是为什么在图像中您会看到此目录的默认内容,因为您的本地目录从未正确挂载过。