@letema

Как в kubernetes примонтировать папку к контейнеру?

Добрый день. Подскажите пожалуйста, я создал deployment для своего контейнера.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: app
  name: app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
      - image: app
        imagePullPolicy: Never
        name: app
        ports:
        - containerPort: 11080
        volumeMounts:
        - mountPath: /var/www
          name: env-app
        securityContext:
          privileged: true
      volumes:
       - name: env-app
         hostPath:
           path: /.
           type: Directory




Он должен монтировать в папку файлы с проектом. А он монтирует в папку корень alpin образа. В чем может быть дело? Это dockerfile образа для контейнера app
FROM php:7.1-fpm-alpine

ENV COMPOSER_HOME="/usr/local/composer"

ENV PHP_XDEBUG_DEFAULT_ENABLE ${PHP_XDEBUG_DEFAULT_ENABLE:-1}
ENV PHP_XDEBUG_REMOTE_ENABLE ${PHP_XDEBUG_REMOTE_ENABLE:-1}
ENV PHP_XDEBUG_REMOTE_HOST ${PHP_XDEBUG_REMOTE_HOST:-"127.0.0.1"}
ENV PHP_XDEBUG_REMOTE_PORT ${PHP_XDEBUG_REMOTE_PORT:-9000}
ENV PHP_XDEBUG_REMOTE_AUTO_START ${PHP_XDEBUG_REMOTE_AUTO_START:-1}
ENV PHP_XDEBUG_REMOTE_CONNECT_BACK ${PHP_XDEBUG_REMOTE_CONNECT_BACK:-1}
ENV PHP_XDEBUG_IDEKEY ${PHP_XDEBUG_IDEKEY:-docker}
ENV PHP_XDEBUG_PROFILER_ENABLE ${PHP_XDEBUG_PROFILER_ENABLE:-0}
ENV PHP_XDEBUG_PROFILER_OUTPUT_DIR ${PHP_XDEBUG_PROFILER_OUTPUT_DIR:-"/tmp"}

RUN \
    addgroup -g 1000 -S user && \
    adduser -u 1000 -D -S -G user user && \
    \
    apk update && \
    apk upgrade && \
    \
    apk add --no-cache \
        $PHPIZE_DEPS \
        supervisor \
        nodejs \
        nodejs-npm \
        yarn \
        dcron \
        composer \
        tini \
        libintl \
        icu \
        icu-dev \
        libxml2-dev \
        postgresql-dev \
        freetype-dev \
        libjpeg-turbo-dev \
        libpng-dev \
        gmp \
        gmp-dev \
        libmemcached-dev \
        imagemagick-dev \
        libssh2 \
        libssh2-dev \
        libxslt-dev && \
    \
    docker-php-ext-configure gd \
        --with-freetype-dir=/usr/include/ \
        --with-jpeg-dir=/usr/include/ && \
    \
    pecl install -o -f redis \
    &&  docker-php-ext-enable redis && \
    \
    pecl install memcached \
    && docker-php-ext-enable memcached && \
    \
    docker-php-ext-install -j"$(getconf _NPROCESSORS_ONLN)" \
        intl \
        bcmath \
        xsl \
        zip \
        soap \
        mysqli \
        pdo \
        pdo_mysql \
        pdo_pgsql \
        gmp \
        iconv \
        gd && \
    \
    pecl install \
        xdebug && \
    docker-php-ext-enable xdebug && \
    \
    composer global require hirak/prestissimo && \
    \
    chmod a+rw -R ${COMPOSER_HOME} && \
    \
    apk del \
        $PHPIZE_DEPS

WORKDIR /var/www
  • Вопрос задан
  • 1038 просмотров
Пригласить эксперта
Ответы на вопрос 1
Скорее всего дело вот в этом: path: /. Если вы хотите в линуксе ссылаться на текущую директорию, то это будет ./
Имейте также в виду, что в h8s host это не та машина, с которой вы деплоите, а та, на которой будет запущен pod с контейнерами. Соответственно, вам стоит предварительно на хосте создать нужную директорию и поместить туда нужные файлы, а потом монтировать по абсолютному пути.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы