在一个容器中,我们可以为两个不同的容器提供一个单一的容积。
答案 0 :(得分:1)
如果您有两个容器,并且想要在它们之间共享数据,则可以执行以下操作:
apiVersion: v1
kind: Pod
metadata:
name: production
spec:
containers:
- name: container1
image: image1
volumeMounts:
- name: storage
mountPath: /vol/data
- name: container2
image: image2
volumeMounts:
- name: storage
mountPath: /store/data
volumes:
- name: storage
emptyDir: {}
在这里
emptyDir
用于在两个容器之间共享数据。两个容器都有容量。
因此,如果要共享相同的数据,则可以在两个容器中装入相同的卷。
但是,如果您要使用单个卷,并且不想在两个容器之间共享数据,则可以使用subPath
spec:
containers:
- name: container1
image: image1
volumeMounts:
- name: storage
mountPath: /vol/data
subPath: vol
- name: container2
image: image2
volumeMounts:
- name: storage
mountPath: /store/data
subPath: store
volumes:
- name: storage
emptyDir: {}
在这里
subPath
在引用的卷中指定一个子路径,而不是其根。这意味着,与您的卷不同的两个目录将被装入两个容器中。
在此示例中,/vol
目录将被安装在container1
容器中,卷中的/store
将被安装在container2
现在,您的数据将不会发生冲突和共享
答案 1 :(得分:0)