是否可以使用适用于 Python 的 docker SDK在远程计算机中启动容器?
import docker
client = docker.from_env()
client.containers.run("bfirsh/reticulate-splines", detach=True)
# I'd like to run this container ^^^ in a machine that I have ssh access to.
Run Code Online (Sandbox Code Playgroud)
通过查看文档,这种类型的管理似乎超出了上述 SDK 的范围,因此在网上搜索时我得到提示,Python 的 kubernetes 客户端可能会有所帮助,但不知道从哪里开始。
Docker SDK for Python没有明确记录,但您可以通过指定格式的主机来使用 SSH 连接到 Docker 守护进程ssh://[user]@[host],例如:
import docker
# Create a client connecting to Docker daemon via SSH
client = docker.DockerClient(base_url="ssh://username@your_host")
Run Code Online (Sandbox Code Playgroud)
还可以设置环境变量DOCKER_HOST=ssh://username@your_host并使用您提供的示例,该示例使用当前环境来创建客户端,例如:
import docker
import os
os.environ["DOCKER_HOST"] = "ssh://username@your_host"
# Or use `export DOCKER_HOST=ssh://username@your_host` before running Python
client = docker.from_env()
Run Code Online (Sandbox Code Playgroud)
注意:正如问题中所指定的,这是考虑到您可以通过 SSH 访问目标主机。你可以测试
ssh username@your_host
Run Code Online (Sandbox Code Playgroud)
小智 3
这是可能的,只需这样做:
client = docker.DockerClient(base_url=your_remote_docker_url)
Run Code Online (Sandbox Code Playgroud)
这是我找到的与此相关的文档:
https://docker-py.readthedocs.io/en/stable/client.html#client-reference
如果您只能通过 SSH 访问它,则有一个use_ssh_client选项
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |