使用 docker api python 客户端将 docker 镜像推送到 Dockerhub

Push docker image to Dockerhub using docker api python client

我正在开发 docker api python 客户端,我已经成功完成构建映像,但现在我需要将该 docker 映像推送到 docker集线器存储库。

这是我尝试过的方法:

来自 views.py

            client = docker.from_env()
            client.images.build(path=docker_folder, gzip=False, tag=deployment.name)
            image = client.images.get(deployment.name)
            print(image.short_id)
            print("start pushing your docker image to docker hub")
            auth_config = {
                'username': '***dockerhub-email ***',
                'password': '***Password***',
            }
            client.images.push('arycloud/istiogui', tag=deployment.name,
                               auth_config=auth_config)

它没有 return 任何错误,但图像未推送到 docker 集线器报告。 这是我正在使用的存储库:

https://hub.docker.com/r/arycloud/istiogui/

在@Tarun 的评论后更新了代码

            client = docker.from_env()
            print("Start Building your docker image...")
            client.images.build(path=docker_folder, gzip=False, tag=deployment.name)
            image = client.images.get(deployment.name)
            print(image.short_id)
            print("start pushing your docker image to docker hub")
            client.login(username='***', password='***')
            client.images.push('arycloud/istiogui', tag=deployment.name)

在那之后我的图片仍然没有推送到 dockerhub!

你可以试试这个

client.login(username='***', password='***')
for line in client.images.push('arycloud/istiogui', stream=True, decode=True):
    print(line)

它将打印基本上是错误或成功信息的输出