社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

在Docker容器内构建项目并在mounted中共享文件夹

fefe • 6 年前 • 1024 次点击  

我使用docker compose构建容器,并在状态中签出私有存储库,然后使用composer在容器内构建项目。

我有以下结构

- docker-project
-- docker //here I keep the containers
--- apache
---- Dockerfile // the content what I posted
-- docker-compose.yml
-- src //this is the mounted folder where I can work on project

在构建之后,我希望构建项目会出现在mounted文件夹中,但是我得到的是空文件夹,这里是我的compose yml

     apache:
        container_name: apache2
        build:
          context: ./docker/apache

        ports:
        - 80:80
        - 443:443
        links:
        - database
        restart: always
        volumes:
        - ./src:/var/www/
        - ./docker/logs/apache2/:/var/log/apache2/
        - ~/.ssh/id_rsa:/root/.ssh/id_rsa
        - ./docker/apache/sites/:/etc/apache2/sites-enabled

我这里有Docker档案

FROM php:7.1-apache
ENV APACHE_DOCUMENT_ROOT /var/www
RUN apt-get update \
  && apt-get install -y --no-install-recommends \
    curl \
    openssl \
    openssh-server \
    sendmail \
    sendmail-bin \
    mailutils \
    libicu-dev \
    libmemcached-dev \
    libz-dev \
    libpq-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libssl-dev \
    libmcrypt-dev \
    libxml2-dev \
    libbz2-dev \
    libjpeg62-turbo-dev \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    zlib1g-dev \
    libicu-dev  \
    g++ \
    libxml2-dev \
    git \
  && rm -rf /var/lib/apt/lists/*

# Install various PHP extensions which are required to build project
RUN docker-php-ext-configure bcmath --enable-bcmath \
    && docker-php-ext-configure pcntl --enable-pcntl \
    && docker-php-ext-configure pdo_mysql --with-pdo-mysql \
    && docker-php-ext-configure pdo_pgsql --with-pgsql \
    && docker-php-ext-configure mbstring --enable-mbstring \
    && docker-php-ext-configure soap --enable-soap \
    && docker-php-ext-install \
        bcmath \
        json \
        intl \
        mbstring \
        mcrypt \
        mysqli \
        pcntl \
        pdo_mysql \
        pdo_pgsql \
        soap \
        sockets \
        zip \
  && docker-php-ext-configure gd \
    --enable-gd-native-ttf \
    --with-jpeg-dir=/usr/lib \
    --with-freetype-dir=/usr/include/freetype2 && \
    docker-php-ext-install gd

##install xdebug and enable it. We need this for php unit coverage
RUN yes | pecl install xdebug \
&& docker-php-ext-enable xdebug

RUN yes | pecl install mongodb \
&& docker-php-ext-enable mongodb

RUN update-ca-certificates

# install composer to can install dependencies
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
    && php -r "unlink('composer-setup.php');"


RUN mkdir /root/.ssh
RUN rm -rf /var/www/project
WORKDIR /var/www/
RUN git checkout path/to/repo
RUN ls -l /var/www
WORKDIR /repo
RUN composer install
RUN ls -l

docker-compose build 我看到这个项目将在 docker-compose up 文件夹为空

我在这个案子里遗漏了什么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38240
文章 [ 2 ]  |  最新文章 6 年前