2017-08-13 36 views
0

我試圖用Python的多克爾API登錄到一個碼頭工人云:登錄與泊塢窗的Python API

https://docker-py.readthedocs.io/en/stable/client.html#creating-a-client1

的網址是什麼?什麼是港口?

我試圖讓它與cloud.docker.com一起使用,但是我對任何註冊服務器都沒問題,只要它是免費使用的,我可以使用它從一臺計算機上傳Docker映像並運行他們在另一個。

我已經得到了一切使用我自己的本地託管註冊表運行,但我似乎無法弄清楚如何連接到服務器。託管我自己的註冊表比使用現有的註冊表服務器更容易,這很荒謬。

我的代碼看起來是這樣,但我不能確定什麼ARGS *參數應該是:

客戶端= docker.DockerClient(BASE_URL = args.docker_registry) client.login(用戶名= args.docker_user,密碼= args.docker_password)

我不確定base_url需要什麼才能登錄,並且錯誤消息根本沒有幫助。

你能舉個例子嗎?

回答

1

base_url參數是Docker服務器的URL,而不是Docker Registry。

嘗試類似:

from docker.errors import APIError, TLSParameterError 

try: 
    client = docker.from_env() 
    client.login(username=args.docker_user, password=args.docker_password, registry=args.docker_registry) 
except (APIError, TLSParameterError) as err: 
    # ... 
+0

我已經使用docker.from_env()連接到我的本地託管碼頭註冊表。我該如何切換回公共位置? 另外,args.docker_registry應該是什麼樣子? –

+0

docker.from_env()僅將您連接到Docker服務器。 login()方法的'registry'參數將您連接到指定的註冊表URL。 –

+0

我知道。註冊表URL應該是什麼樣子?例如,「https://cloud.docker.com」是託管註冊表的網站的URL,但設置registry =「https://cloud.docker.com」會給出錯誤。我需要做什麼才能讓它接受註冊表? –

0

我還沒有想出什麼cloud.docker.com的註冊表被調用,但我把它切換到quay.io我的註冊服務器工作,它使用直觀的註冊表='quay.io'