2015-09-13 32 views
0

我已經爲PHP開發的目的構建了一個映像,對我來說很清楚,我沒有真正想過如何訪問我每天需要的工具。例如:composer,PHP的包管理器,每當composer.json更新時,我都需要它運行。我認爲值得在同一圖像中安裝這些工具,但是我沒有辦法訪問它們。所以,我可以:Docker中運行的包管理器

  1. 的作曲家創建獨立的圖像,並在不同的容器中運行它
  2. 我的主機上安裝的作曲家。

我想避免選項2),但是,它是否有感覺像1)的設置?你們是怎麼解決這個問題的?

回答

1

除非你有一些非常具體的要求還有第三種選擇:

連接到容器使用docker exec命令:

docker exec -it CONTAINER-NAME/ID COMMAND [ARG...] 

這裏是例子:

1:創建應用程序:

echo "<?php phpinfo();" > index.php 

2:啓動容器:

docker run -it --rm --name my-apache-php-app -p 80:80 -v "$PWD":/var/www/html php:5.6-apache 

3:打開另一個終端窗口和exec運行所需的容器內部命令:

docker exec -it my-apache-php-app curl -sS https://getcomposer.org/installer | php 
docker exec -it my-apache-php-app ls 

如果您需要殼內運行容器 - 運行:

docker exec -it my-apache-php-app bash 

這就是它!

相關問題