#!/usr/bin/env python
import sys
import json
def main():
# accept multiple ' param's
params = json.loads(sys.argv[1])
# find 'myparam' if supplied on invocation
myparam = params.get('myparam', 'myparam default')
# add or update 'myparam' with default or
# what we were invoked with as a quoted string
params['myparam'] = '{}'.format(myparam)
# output result of this action
print(json.dumps({ 'allparams' : params}))
if __name__ == "__main__":
main()
现在(2016年9月)比我之前的回答简单多了。在
在用命令
$ wsk sdk install docker
创建了dockerSkeleton
目录之后,您所要做的就是编辑Dockerfile
,并确保您的Python(现在是2.7)正在接受参数并以适当的格式提供输出。在这是一个总结。我已经写得更详细了here on GitHub
程序
文件
test.py
(或whatever_name.py
您将在下面编辑的Dockerfile
中使用。)chmod a+x test.py
)。在./test.py '{"tart":"tarty"}'
生成JSON字典:
{"allparams": {"tart": "tarty", "myparam": "myparam default"}}
Dockerfile
将以下内容与提供的
Dockerfile
进行比较,以获取Python脚本test.py
,并准备好构建docker映像。在希望这些评论能解释这些差异。当前目录中的任何资产(数据文件或模块)都将成为映像的一部分,
^{pr2}$requirements.txt
中列出的任何Python依赖项也将成为映像的一部分请注意
ENV REFRESHED_AT ...
,我使用它来确保在构建映像时,重新拾取更新的test.py
层,而不是从缓存中提取。在相关问题 更多 >
编程相关推荐