首页 > 解决方案 > 如何在 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”。并且没有任何日志输出。

标签: dockerkubernetesgoogle-cloud-platformgoogle-kubernetes-engine

解决方案


这不是 Kubernetes 的特性。有一个旧的 FlexVolume 插件可以实现与 Docker 相同的行为,但不推荐使用。您可以使用 initContainer 从数据容器复制到像 emptyDir 这样的卷中。


推荐阅读