docker-py 中 docker 端口容器的等效命令是什么
What is the equivalent command for docker port CONTAINER in docker-py
我正在尝试使用 docker-py 自动化 docker 服务器。需要检查主机 URL 是否正在使用 python ping 通。因此,我需要一个 等效命令 in python for docker port container
.
docker port container_id
import docker
client = docker.from_env()
print(client.port('c03ebfb53a7d', 80))
当通过 docker.DockerClient(base_url='unix://var/run/docker.sock')
或 docker.from_env()
实例化 DockerClient
对象时,在构造函数内部 APIClient
object is instantiated:
def __init__(self, *args, **kwargs):
self.api = APIClient(*args, **kwargs)
APIClient
itself is inheriting a bunch of classes:
class APIClient(
requests.Session,
BuildApiMixin,
ConfigApiMixin,
ContainerApiMixin,
DaemonApiMixin,
ExecApiMixin,
ImageApiMixin,
NetworkApiMixin,
PluginApiMixin,
SecretApiMixin,
ServiceApiMixin,
SwarmApiMixin,
VolumeApiMixin)
它继承的 类 之一是 ContainerApiMixin
that exposes methods for interacting with containers, similar to docker container
CLI。
如您所见,您可以通过 CLI 执行的所有操作都可以通过 DockerClient
对象内的 api
对象访问。
所以,你的问题的答案是:
client.api.port('<container_id>', <port>)
资源:source code
我正在尝试使用 docker-py 自动化 docker 服务器。需要检查主机 URL 是否正在使用 python ping 通。因此,我需要一个 等效命令 in python for docker port container
.
docker port container_id
import docker
client = docker.from_env()
print(client.port('c03ebfb53a7d', 80))
当通过 docker.DockerClient(base_url='unix://var/run/docker.sock')
或 docker.from_env()
实例化 DockerClient
对象时,在构造函数内部 APIClient
object is instantiated:
def __init__(self, *args, **kwargs):
self.api = APIClient(*args, **kwargs)
APIClient
itself is inheriting a bunch of classes:
class APIClient(
requests.Session,
BuildApiMixin,
ConfigApiMixin,
ContainerApiMixin,
DaemonApiMixin,
ExecApiMixin,
ImageApiMixin,
NetworkApiMixin,
PluginApiMixin,
SecretApiMixin,
ServiceApiMixin,
SwarmApiMixin,
VolumeApiMixin)
它继承的 类 之一是 ContainerApiMixin
that exposes methods for interacting with containers, similar to docker container
CLI。
如您所见,您可以通过 CLI 执行的所有操作都可以通过 DockerClient
对象内的 api
对象访问。
所以,你的问题的答案是:
client.api.port('<container_id>', <port>)
资源:source code