将空string(双引号)parameter passing给dockerfile
我的项目由Docker包装,并运行在2个环境中: 后台代理或无代理 。
在这种情况下,我使用php:apache映像并通过pecl安装ext,所以我必须手动设置代理
FROM php:apache RUN pear config-set http_proxy $http_proxy # RUN pecl install mongodb && docker-php-ext-enable mongodb
$http_proxy
arg将从docker-compose传入2个值: http://server:port
或“”
(双引号)
但是,如果在“”
构build自定义图像,则$http_proxy
arg为空,并在config命令中显示错误
步骤4/4:运行梨configuration集http_proxy $ http_proxy
– >在19b69d089ff2中运行
config-set需要2或3个参数
由于它是一个RUN
命令,所以可以添加一个testing:
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
因为它是预定义的之一 。