[英]How do I login into a Docker container running inside the specific Kubernetes pod and run an test.sh file?
[英]Unable to write file from docker run inside a kubernetes pod
我有一个使用卷写入文件的docker映像:
docker run --rm -v /home/dir:/out/ image:cli args
当我尝试在Pod内运行此容器时,容器正常退出,但未写入任何文件。
我不明白
如果找不到卷,则容器抛出错误,例如,如果我在不带-v
选项的情况下运行该卷,则会抛出错误:
Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path '/out/file.txt'.
但是我的容器没有任何错误。 就像写入文件一样完成,但是文件不存在。
我对Kubernetes还是很陌生,但这让我发疯了。
kubernetes是否会阻止文件写入? 还是我缺少明显的东西?
整个Kubernetes上下文由GCP composer-airflow管理,如果有帮助...
docker -v: Docker version 17.03.2-ce, build f5ec1e2
如果要在Kubernetes中具有该行为,可以使用hostPath
卷。
本质上,您可以在Pod规范中指定它,然后将卷安装在Pod运行所在的节点上,然后在Pod退出后该文件应位于该节点中。
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: image:cli
name: test-container
volumeMounts:
- mountPath: /home/dir
name: test-volume
volumes:
- name: test-volume
hostPath:
path: /out
type: Directory
当我尝试在Pod内运行此容器时,容器正常退出,但未写入任何文件
首先,不需要在pod :)中运行docker run
命令。 应该为Pod编写一个规范文件 (yaml),并且kubernetes将使用docker在docker中运行容器中的容器。 理想情况下,你不需要跑docker
使用kubernetes时(除非你正在调试码头工人有关的问题)的命令。
该链接对码头用户具有有用的kubectl
命令。
如果您习惯于Kompose
docker-compose
,请参考Kompose
从docker docker-compose
转到kubernetes:
在kubernetes中将目录作为卷安装在主机上的一些选项:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.