docker - 如何在 kubenetes 中从我的容器挂载卷
问题描述
我想将 SourceContaner 中的目录挂载到 ServerContainer。
服务器容器:
FROM php:7.2-apache
RUN a2enmod rewrite
# /var/www/html is apache document root.
源容器:
FROM alpine:3.7
# Copy local code to the container image.
COPY ./my_src /var/www/html/my_src
VOLUME /var/www/html/my_src
而且,yaml 在下面。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
spec:
...snip...
spec:
containers:
- name: server-container
image: "Server Container image"
ports:
...snip...
volumeMounts:
- name: src-volume
mountPath: /var/www/html/my_src
- name: src-container
image: "Source Container Image"
volumes:
- name: src-volume
hostPath:
path: /var/www/html/my_src
但是发生了源容器“CrashLoopBackOff”。并且没有任何日志输出。
解决方案
这不是 Kubernetes 的特性。有一个旧的 FlexVolume 插件可以实现与 Docker 相同的行为,但不推荐使用。您可以使用 initContainer 从数据容器复制到像 emptyDir 这样的卷中。