通过docker-compose更新configuration文件

我正在试图让xdebug在Docker-compose设置中的php容器中工作。 我发现了几个例子,显示了需要添加到容器中的额外configuration行:

从Reddit,我试图在我的Web容器的Dockerfile中添加这些行:

# Configure xdebug RUN echo "xdebug.remote_enable=1" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.idekey=PHPSTORM" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.remote_connect_back=1" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.remote_host=10.10.1.2" >> /etc/php5/fpm/conf.d/20-xdebug.ini 

但据我所知,我并不直接使用dockerfile。

  my docker-compose.yml: web: image: tutorial/nginx ports: - "8080:80" volumes: - ./src:/var/www - ./src/vhost.conf:/etc/nginx/sites-enabled/vhost.conf links: - php php: image: nmcteam/php56 volumes: - ./src/php-fpm.conf:/etc/php5/fpm/php-fpm.conf - ./src:/var/www run: # Configure xdebug RUN echo "xdebug.remote_enable=1" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.idekey=PHPSTORM" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.remote_connect_back=1" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.remote_host=10.10.1.2" >> /etc/php5/fpm/conf.d/20-xdebug.ini links: - db db: image: sameersbn/mysql volumes: - /var/lib/mysql environment: - DB_NAME=demoDb - DB_USER=demoUser - DB_PASS=demoPass 

显然run:部分不起作用。 我错过了一些东西,但到目前为止,还没有能够让我的头脑如何解决问题,使用撰写。

run不是docker-compose中的命令

您可以指定image或使用替代pathbuild Dockerfile

所以你可以在你的Dockerfile使用RUN 。 参考

我的build议是,如果你需要运行你指定的命令,你可以为你的' Dockerfile做这样的事情:

 FROM nmcteam/php56 RUN echo "xdebug.remote_enable=1" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.idekey=PHPSTORM" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.remote_connect_back=1" >> /etc/php5/fpm/conf.d/20-xdebug.ini RUN echo "xdebug.remote_host=10.10.1.2" >> /etc/php5/fpm/conf.d/20-xdebug.ini 

build立图像:

 docker build -t myuser/php56 <path to Dockerfle> 

然后在你docker-compose.yml文件中的'php'部分:

 php: image: myuser/php56 volumes: - ./src/php-fpm.conf:/etc/php5/fpm/php-fpm.conf - ./src:/var/www links: - db 

您可以select将您的图片推送到您的dockerhub帐户:

 docker push myuser/php56