我有一个python脚本,我用下面的命令运行:python3 scan.py --api_token 5563ff177863e97a70a45dd4 --base_api_url http://101.102.34.66:4242/scanjob/ --base_report_url http://101.102.33.66:4242/ --job_id 42
当我在命令行上运行它时,它工作得很好。
在我的Dockerfile中,我尝试了ARG和ENV。似乎没有一个工作
#ARG api_token
#ARG username
#ARG password
# Configure AWS arguments
#RUN aws configure set aws_access_key_id $AWS_KEY \
# && aws configure set aws_secret_access_key $AWS_SECRET_KEY \
# && aws configure set default.region $AWS_REGION
### copy bash script and change permission
RUN mkdir workspace
COPY scan-api.sh /workspace
RUN chmod +x /workspace/scan-api.py
CMD ["/python3", "/workspace/scan-api.py"]
字符串
那么我如何在docker文件中定义这个标记参数?运行镜像时运行什么命令?
3条答案
按热度按时间piok6c0g1#
如果要在运行时重写,可以通过两种方式执行此操作。
第一个是最简单的,你不需要改变任何Dockerfile
字符串
我的简单脚本
型
的数据
使用ENV,您需要更改Dockerfile
我张贴的方式为一个,你可以这样做的所有args
型
因此,您可以在运行时重写它们,或者能够使用某些默认值运行。
型
5sxhfpxr2#
CMD
采用与您在命令行中使用的参数完全相同的参数。字符串
tzcvj98z3#
很混乱
您需要使用
ENTRYPOINT
(或CMD
)的SHELL形式来进行环境变量替换,例如:字符串
然后使用以下形式运行容器:
型