使用官方的 go 解析器将 dockerfile 解析为高级表示。
项目描述
dockerfile
这个存储库的目标是 为 docker / docker 的 dockerfiles 解析器提供一个包装器。
蟒蛇库
安装
从源代码构建时,此项目使用setuptools-golang 。要从源代码构建,您需要一个 go 编译器。
如果您使用的是 linux 和足够新的 pip (>=8.1),您应该能够下载预构建的 manylinux1 轮子。
pip install dockerfile
用法
这个库提供了三个api函数:
dockerfile.all_cmds()
列出所有已知的 dockerfile cmd。
>>> 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。返回代表 Dockerfile 每一层的对象tuple
。dockerfile.Command
可能的例外情况:
dockerfile.GoIOError
: 文件无法打开。dockerfile.GoParseError
: 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。返回代表 Dockerfile 每一层的对象tuple
。dockerfile.Command
可能的例外情况:
dockerfile.GoParseError
: 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
用法
项目详情
关
dockerfile -3.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e13fd3768216a788189e0667521e1435a273a4129119a8453085d897fc34aac8 |
|
MD5 | e6992512c9af1c8cf4aa94804d3b072e |
|
布莱克2-256 | 6e751395fac29bd2dcccb51ffae11ba9a19fe159eabf9596bca4cf49c1a2b191 |
关
dockerfile -3.2.0-cp38-abi3-macosx_12_0_arm64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a3ff90c92f05b5bceee4742d15899b3967cda025eec14a852811d089caf3478e |
|
MD5 | ae697cd9b0dcdf12604f266869f86048 |
|
布莱克2-256 | a75319d0ce2471a22fa469a7748e8d45f0eaa99b38dfbfecfe24cd1ca19db41f |
关
dockerfile -3.2.0-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e6bd64408386b7ba2259d85820e0fe90de1b6b8269f560f18aba100c6aa40b7d |
|
MD5 | aae3bf6bdd32c39bf9b9ca18d423b332 |
|
布莱克2-256 | 0ede00149a416148c609c71c8a94e5e4df14a9f62bf2fa41aeda021b76388623 |
关
dockerfile -3.2.0-cp36-abi3-macosx_10_14_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e6e00b82b82042fb4df569ae00bd2648ac6c8823f51c406da31ab01c728926c2 |
|
MD5 | ddaffd905a75838b219c0c626f9df484 |
|
布莱克2-256 | 9e190f56ebd6d535832bfbe7c4f16c983c08ab8e01927fe9ae15e1afcfa88996 |