我能够使用 python sdk 构建 docker 映像。如果 dockerfile 在我的本地机器上可用。
client = docker.from_env()
image, build_log = client.images.build(path = "./", tag=image_name,rm=True)
现在,我的 docker 文件将保存在 github 存储库中,我应该提取它们并构建图像。python sdk doc 说 build 方法接受路径或文件对象。
我能够使用 pyGithub (API3) 存储库从 github 读取 docker 文件的内容
g = Github(base_url=url, login_or_token=accessToken, verify=False)
dmc = g.get_organization(org_name)
repo = dmc.get_repo(repoName)
contents = repo.get_contents(dockerfile_name, "master")
我不确定如何将上述内容对象(ContentFile.ContentFile)转换为 python 文件对象,以便我可以使用它来构建如下图像
client = docker.from_env()
image, build_log = client.images.build(fileobj = contents_file_obj, tag=image_name,rm=True)