LINUX.ORG.RU

kubernetes volumemounts

 , , ,


0

1

Добрый день. Подскажите пожалуйста, я создал 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:
          - name: env-app
            mountPath: /var/www
      volumes:
         - name: env-app
           hostPath:
             path: /.
             type: Directory
status: {}
 
Он должен монтировать в папку файлы с проектом. А он монтирует в папку корень 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
 

Ответ на: комментарий от letema88

Путь должен быть к директории на ноде кубернетиса. volumeMounts это то что будет в контейнере

hostPath это то что на хосте.

К примеру мне надо смонтировать директорию /home/vasya/superproject в контейнер в /app

В volumeMounts будет /app/

в hostPath /home/vasya/superproject

По крайней мере так оно работает в линуксах, в винде хз.

ivanich ★★ ()
Последнее исправление: ivanich (всего исправлений: 1)