使用官方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第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值