[英]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.