2017-09-01 49 views
0

一個PHP應用程序,我有以下泊塢窗,compose.yml多克爾 - 撰寫:設置生成序列

version:'2' 
services: 
    service: 
    build: 
     context: . 
     dockerfile: Dockerfile 
    image: "service" 

    service_debug: 
    build: 
     context: . 
     dockerfile: Dockerfile_debug 
    image: "service_debug" 
    ports: 
     - "9001:9001" 

也是我Dockerfile我有以下方面

FROM php:7.0-fpm-alpine 
MAINTAINER Monkey D. Luffy 

EXPOSE 9000 

VOLUME /var/www/html 

#Do build stuff 
#.... 

我還有另一個dockerfile,我把它放在我用上面的dockerfile構建的docker鏡像上,在那裏我安裝了xdebug。該文件被命名(根據docker-compose.ymlDockerfile_debug。這張圖片會包含一些調試運行工具(在我的案件的XDebug如,但它可以是任何工具或設置):

FROM service 
MAINTAINER Kurosaki Ichigo 

EXPOSE 9001 
EXPOSE 9000 

RUN pecl install xdebug 
RUN docker-php-ext-enable xdebug 
RUN sed -i '1 a xdebug.remote_autostart=true' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 
RUN sed -i '1 a xdebug.remote_mode=req' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 
RUN sed -i '1 a xdebug.remote_handler=dbgp' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 
RUN sed -i '1 a xdebug.remote_connect_back=1 ' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 
RUN sed -i '1 a xdebug.remote_port=9001' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 
RUN sed -i '1 a xdebug.remote_host=127.0.0.1' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 
RUN sed -i '1 a xdebug.remote_enable=1' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 

所以我的問題是,當我運行docker-compose build如何設置2個服務之間如何構建順序使我建立的圖像從service_debug得到基於最新的圖像從service

換言之,我想同時生成生產就緒圖像和調試圖像,以便能夠測試我的應用程序是否可以在我的生產準備好的泊塢窗圖像中工作。

回答