问题标签 [mounted-volumes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 我无法在 kubernetes 卷中保存数据
我有一个应用程序可以记录实时流量并重播它们。
https://github.com/buger/goreplay
这是一个简单易用的应用程序,但是当我尝试将它与 kubernetes 一起使用时,我遇到了将数据保存在卷中的问题。
我想做这个 :
- 在 pod 1 中,我使用 goreplay 容器和其他只有一个简单的 python 服务器的容器......工作是 goreplay 将侦听来自外部到服务器的请求并将它们保存到一个文件中,这是部署文件:
通常这将创建文件。
问题是当我删除部署并创建一个它的工作是读取文件并将保存请求转发到服务器时,它找不到文件,显然我使用的卷错误,这是第二个假设找到并读取文件的部署:
PS:这是持久卷的 yaml 文件:
这是存储类的文件:
这对于持久卷声明:
我怎样才能完成这项工作并找到并使用我在第二个 pod 中创建的第一个文件!
先感谢您。
podman - 在不运行容器的情况下如何确定 UID?
我在 Centos 8 上使用 podman 运行docker.io/library/mariadb:latest映像。我在主机上安装了一个卷,用于数据库的持久存储。我知道必须更改主机上的目录所有权,以便容器内的用户获得 rw 访问权限。所以我们为此目的使用 podman 的 unshare 命令。mariadb 中的用户名为 mysql。如果我们输入
这将出错:
这是有道理的,因为主机上不存在 mysql 用户。为此,我们必须提供 UID。此信息通常从正在运行的容器中获取,并在 /etc/passwd 中查找 mysql
并且 UID/GID 是 999:999 从下面的输出。
现在我们可以使用主机上的 UID 进行 chown
这有效。
但是,我们如何在不运行容器的情况下获取这些信息呢?
我检查了图像,找不到明确的 UID:GID 分配。这个问题的原因是实现基础设施的自动配置/设置,而不用担心手动步骤。
docker - 卷安装不适用于 docker-compose (MacOS)
我对 Docker 比较陌生,我正在尝试使用 docker-compose 从我的 Dockerfile 构建单个自定义映像。
Dockerfile
码头工人-compose.yml
我的问题
运行docker-compose build
没有给我任何错误。当我执行docker run -it <image_name> bash
并导航到目录 /home/docker/qts 时,该目录不会镜像本地目录。
Adocker inspect
还显示未安装卷(并且我暴露的端口也没有映射到本地端口!)我在这里缺少什么?
谢谢您的意见。
python - Python、Starlette 和 Docker 错误行走文件系统:OSError [Errno 40] 符号链接级别过多:
即使我没有使用 python 运行 os.walk 或任何其他类型的文件读/写操作,我也会收到此错误。
当我跑步时
我找到了循环中涉及的文件。本地是/usr/bin/X11
和在服务器上我得到以下信息:
error walking file system: OSError [Errno 40] Too many levels of symbolic links: '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr'
然后从 WatchGodReload:
WARNING: WatchGodReload detected file change in '['/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/5', '/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/1', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/3', '/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/5', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/2', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/5', '/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/stderr', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/4', '/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/fd/6/dev/stdout', '/dev/fd/1']'. Reloading...
要么我使用我通常绑定的卷运行容器:
或者没有绑定,我仍然得到相同的错误日志,并且应用程序在每次请求后不断重启。
PS我也试过了docker system prune -a
,虽然有过时的东西,但没有任何改变。
非常感谢任何关于进一步探索的建议。
podman - 如何在 podman 的 kube 文件中创建命名卷?
我通过在 Podman 中播放 kube 文件来运行 mariadb pod。我不想使用固定的hostPath ,而是使用命名卷。但是,这要求已创建命名卷。有没有办法在 pod kube 文件中创建一个名为maria_db的命名卷作为规范的一部分。以下是我正在使用的规范:
这是我得到的错误:
azure - 从 Spring mvc 应用程序的已安装卷中读取秘密值
我们在 AKS 中使用 tomcat 映像部署了一个 Spring MVC 应用程序。如何从安装为卷的秘密中获取值?
大多数示例仅指向 Spring Boot
我正在从秘密商店安装价值
可以看到秘密被正确安装:
Cat service-one-secret 不返回任何内容
任何人都可以建议一种从 spring mvc 应用程序中读取其值的方法吗?
docker - 将作为 samba 共享的主机路径挂载到 Docker 容器中
我已经在我的主机 linux 中安装了一个 windows 共享,我正在尝试将主机路径安装到我的 Docker 容器中。我正在尝试使用 python sdk 创建一个容器,并且我能够使用privileged= True
. 但我读过使用privileged= True
是不安全的。所以我尝试使用cap_add =["SYS_ADMIN","DAC_READ_SEARCH"
但它不起作用。还有其他选择privileged= True
吗?
kubernetes - 如何在 kubernetes pod 上挂载 afs 文件系统
我们有一个远程 nfs 和 afs(Openafs) 文件系统,我们需要将其安装在 kubernetes pod 上。我们通过在 PV 文件中提供服务器路径,使用 PV(persistentVolume) 和 PVC(persistenVolumeClaim) 挂载 nfs 文件系统,如下所示:
我们如何以类似的方式挂载 afs 文件系统?
windows - 无法将带有空格的主机目录映射到容器目录(绑定挂载) - Docker 快速入门终端(Bash),Windows 10
我是 Docker 的新手。我正在关注一个使用绑定挂载和卷的教程,我使用的是 Windows 10 Docker 快速入门终端 (bash) 和 Docker 19.03.1。
我在包含以下内容的目录中.../dockerfile-sample-2
(注意:此路径包含空格):
现在我运行并得到以下信息:
现在,根据教程,通过访问 IP 地址http://192.168.99.101/和http://192.168.99.101:8080,我应该能够分别从index.html文件中看到自定义登录页面和原始的 nginx 登陆页面。
但是,我只获得了两次原始的 nginx 登陆页面。
还有更多,根据我的教程,通过运行
我应该得到与前一个目录相同的内容.../dockerfile-sample-2
。
但是,我只得到
再一次,根据我的教程,如果我要在我的.../dockerfile-sample-2
目录中创建一个新文件,它应该出现在结果中
但事实并非如此。
我究竟做错了什么?
这里有一些上下文:
我正在运行的容器:
在我的Dockerfile 中:
在我的Index.html中:
更新:
我敢打赌,问题与当前工作目录包含空格有关。
所以我删除了 nginx 容器并尝试运行其他容器。
以下命令:
当我尝试访问http://192.168.99.101/
时,让我的浏览器得到403 Forbidden。
而这些其他命令:
让我的终端回复:
我敢打赌这意味着它无法解析空格。
以及这些其他命令:
让我的终端回复: