使用官方go解析器将dockerfile解析为高级表示。

dockerfile的Python项目详细描述


Build StatusBuild status

文档文件

这个存储库的目标是提供一个包装器 docker/docker的Dockerfiles分析器。

python库

安装

此项目使用setuptools-golang 从源头建造时。要从源代码构建,需要一个go编译器。

如果您使用的是Linux和足够新的PIP(>;=8.1),那么您应该能够 只需下载预先构建的manylinux1轮子。

pip install dockerfile

使用量

这个库提供了三个api函数:

dockerfile.all_cmds()

列出所有已知的dockerfile命令。

>>>dockerfile.all_cmds()('add','arg','cmd','copy','entrypoint','env','expose','from','healthcheck','label','maintainer','onbuild','run','shell','stopsignal','user','volume','workdir')

dockerfile.parse_file(filename)

按文件名分析Dockerfile。 返回表示每个层的tupledockerfile.Command对象 停靠文件。 可能的例外情况:

  • dockerfile.GoIOError:无法打开文件。
  • dockerfile.ParseError:dockerfile不可解析。
>>>pprint.pprint(dockerfile.parse_file('testfiles/Dockerfile.ok'))(Command(cmd='from',sub_cmd=None,json=False,original='FROM ubuntu:xenial',start_line=1,flags=(),value=('ubuntu:xenial',)),Command(cmd='cmd',sub_cmd=None,json=True,original='CMD ["echo", "hi"]',start_line=2,flags=(),value=('echo','hi')))

dockerfile.parse_string(s)

使用字符串分析dockerfile。 返回表示每个层的tupledockerfile.Command对象 停靠文件。 可能的例外情况:

  • dockerfile.ParseError:dockerfile不可解析。
>>>dockerfile.parse_string('FROM ubuntu:xenial')(Command(cmd='from',sub_cmd=None,json=False,original='FROM ubuntu:xenial',start_line=1,flags=(),value=('ubuntu:xenial',)),)

进入库

比Docker/Docker提供的API稍微方便一点?可能不是 非常有用——这个存储库的重点是一个python包装器。

安装

go get github.com/asottile/dockerfile

使用量

godoc

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Frida Java windows的逆向工程   Java术语中的对象初始化   java在何处放置maven参数化junit输入xml文件   java如何在Swift中创建以日期为键、布尔值为值的字典/地图?   java Velocity动态属性访问   java Maven站点我如何找到它们?   java JavaFX按钮在显示阶段时显示为选中状态   文件io字符串方法java赋值   java为SOAP头生成证书   java Android更改EditText的setError弹出消息的背景色   java格式存储为字符串的数字   java Testcontainers+dbrider:无法清除表X,消息:启用自动提交时无法提交。,原因:无效   java程序应该可以运行,但仍然没有输出?   Java在列表末尾添加一个节点?   java类对象中的默认构造函数做什么?   java如何更快地从映射返回键和值?