当我使用docker SDK for Python启动容器时,我可以指定主机端口,以便NoneSDK 为我选择一个随机可用端口:
import docker
client = docker.from_env()
container = client.containers.run(
"bfirsh/reticulate-splines",
ports={6379 : None} # SDK chooses a host port
detach=True)
Run Code Online (Sandbox Code Playgroud)
问题是我想知道运行命令后SDK选择了哪个主机端口。我怎么做?
您需要重新加载容器然后使用container.ports
import docker
client = docker.from_env()
container = client.containers.run(
"bfirsh/reticulate-splines", ports={6379: None}, detach=True
)
container.reload() # need to reload
print(container.ports)
Run Code Online (Sandbox Code Playgroud)
输出
{'6379/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '53828'}]}
Run Code Online (Sandbox Code Playgroud)
这仅适用于大于 4.0.2 的版本(现在至少已有 4 年历史)
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |