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

时间:2017-08-02 05:31:00

标签: python python-3.x docker django-views docker-api

我正在使用docker api python客户端,我已经成功完成了构建映像,但现在我需要将docker镜像推送到dockerhub存储库。

以下是我的尝试:

来自 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)

它不会返回任何错误,但图像未被推送到docker hub reporitoy。 这是我使用的存储库:

  

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!

1 个答案:

答案 0 :(得分:1)

您可以尝试

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

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