2017-10-14 59 views
1

我的項目由Docker包裝並運行於2種環境中:代理服務器無代理服務器向dockerfile傳遞空字符串(雙引號)參數

在這種情況下,我使用PHP:apache的圖像和經由PECL安裝分機,所以必須設置代理手動

FROM php:apache 

RUN pear config-set http_proxy $http_proxy 
# RUN pecl install mongodb && docker-php-ext-enable mongodb 

$http_proxy ARG將從傳遞搬運工-構成在2個值:http://server:port「」(雙引號)

但當建設情況「」自定義形象,$http_proxy ARG爲空,而在config命令顯示錯誤

步驟4/4:RUN梨配置設定HTTP_PROXY $ HTTP_PROXY

- >運行中19b69d089ff2

配置集預計2個或3個參數

回答

1

既然是RUN命令,你可以添加一個測試:

docker build -t my_apache . --build-arg http_proxy=.... 

隨着Dockerfile:

ARG http_proxy 
RUN if [ "x$http_proxy" != "x" ] ; then pear config-set http_proxy $http_proxy; fi 

實際上您並不需要ARG http_proxy,因爲它是one of the predefined ones

相關問題