使用官方go解析器将dockerfile解析为高级表示。
项目描述
dockerfile
此存储库的目的是提供一个包装器,用于docker/docker的dockerfile解析器。
python库
安装
此项目在从源构建时使用setuptools-golang。要从源构建,您需要一个go编译器。
如果您正在使用linux并且pip足够新(>=8.1),您应该能够直接下载预先构建的manylinux1 wheels。
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。返回表示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',)),)
go库
比docker/docker提供的API稍微方便一些?可能不是非常有用——此存储库的主要目的是一个Python包装器。
安装
go get github.com/asottile/dockerfile
用法
项目详情
关闭
dockerfile-3.3.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4790b3d96d1018302b27661f9624d851a4b7113bce1dbb2d7509991e81a387a9 |
|
MD5 | 3c7dcd948e92afacd66c9d6509734f38 |
|
BLAKE2b-256 | 5494754d7d016f4fbbadcd280b2f99fb9b86567ef9094b241affa40c75083fe4 |
关闭
dockerfile-3.3.1-cp38-abi3-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | af88c99a1366622a288b663a660159b1e2c599bcad094563af7bbc3a1be3035f |
|
MD5 | ea27199bf9559bc18ef21c49092729a7 |
|
BLAKE2b-256 | 1bc03acb22254f005c9a1c90a26b95a60ac21bd7dd54058d59d34ba8638f0913 |
关闭
dockerfile-3.3.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 16a0c353e8d41dfedcbbb39d2c3e911ed5379269ee9fddd7f2fd7dc8d43c957e |
|
MD5 | 54eae8029f9cbd148fd28b2a832e88e3 |
|
BLAKE2b-256 | ad6029cac20ce5d96022d0976cf562f4f28f18a224cd95e7a4558b9fd56ee08c |
关闭
dockerfile-3.3.1-cp38-abi3-macosx_13_0_arm64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93bc503ed34dbbb52214753c560942f59686b3f26d0ed392d6b48fa3c238c0b1 |
|
MD5 | 14c74940bce2af293bda4989bc0c3d39 |
|
BLAKE2b-256 | 97f5ae500b918d6cf4229f26ab40bfec06cad0af5425dd471e747c4fea26d0c9 |
关闭
dockerfile-3.3.1-cp38-abi3-macosx_12_0_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c222ee8b26017df0d9c5dcb9c4e02452f508137fc89e214758f68d57c50f5d2a |
|
MD5 | c2ebe2cc079a7a207aba232f337c6266 |
|
BLAKE2b-256 | 46c8bbc9cbfba6943a422b3c72a6e862665d7d811aed882fe2f0698cf6b2f008 |