[英]What is the equivalent command for docker port CONTAINER in docker-py
我試圖使用 docker-py 自動化一個 docker 服務器。 需要使用python檢查主機URL是否正在ping通。 因此,我需要在 python 中為docker port container
一個等效命令。
docker port container_id
import docker
client = docker.from_env()
print(client.port('c03ebfb53a7d', 80))
當實例化DockerClient
對象時,無論是通過docker.DockerClient(base_url='unix://var/run/docker.sock')
還是docker.from_env()
,內部構造函數APIClient
對象都會被實例化:
def __init__(self, *args, **kwargs):
self.api = APIClient(*args, **kwargs)
class APIClient(
requests.Session,
BuildApiMixin,
ConfigApiMixin,
ContainerApiMixin,
DaemonApiMixin,
ExecApiMixin,
ImageApiMixin,
NetworkApiMixin,
PluginApiMixin,
SecretApiMixin,
ServiceApiMixin,
SwarmApiMixin,
VolumeApiMixin)
它繼承的類之一是ContainerApiMixin
,它公開了與容器交互的方法,類似於docker container
CLI。
如您所見,您可以通過 CLI 執行的所有操作都可以通過DockerClient
對象中的api
對象訪問。
所以,你的問題的答案是:
client.api.port('<container_id>', <port>)
資源:源代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.