使用官方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 Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?