我有一个运行docker的命令,
docker run --name pre-core -itdp 8086:80 -v /opt/docker/datalook-pre-core:/usr/application app
在以上命令中,/ opt / docker / datalook-pre-core是主机目录,/ usr / application是容器目录。目的是使容器目录映射到主机目录。因此,当容器崩溃时,该目录将用作存储,并保存其中的数据。
当我要使用kubernetes为此容器创建一个pod时,如何编写pod.yaml文件?
我猜是这样的:
apiVersion: v1
kind: Pod
metadata:
name: app-ykt
labels:
app: app-ykt
purpose: ykt_production
spec:
containers:
- name: app-ykt
image: app
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
volumnMounts:
- name: volumn-app-ykt
mountPath: /usr/application
volumns:
- name: volumn-app-ykt
????
我不知道我要写的Yaml的确切属性是什么?
答案 0 :(得分:1)
这将是hostPath
卷:https://kubernetes.io/docs/concepts/storage/volumes/
volumes:
- name: volumn-app-ykt
hostPath:
# directory location on host
path: /opt/docker/datalook-pre-core
# this field is optional
type: Directory
但是请记住,虽然容器崩溃不会移动任何东西,但其他事件可能会导致Pod移至其他主机,因此您需要做好应对冷缓存和清理孤立缓存的准备。