Docker-client for python 是一个用于与 Docker 守护进程进行通信的 Python 库,它允许你在 Python 程序中执行各种 Docker 操作,如创建、启动、停止和删除容器等,本文将详细介绍如何使用 docker-py(docker-client for python)库,并在最后提供一个相关问题与解答的栏目。
安装 docker-py 库
要使用 docker-py 库,首先需要安装它,你可以使用 pip 工具来安装:
pip install docker
基本用法
1、导入库
在开始使用 docker-py 之前,需要先导入相应的库:
import docker
2、创建 Docker 客户端
接下来,需要创建一个 Docker 客户端实例,这个实例将用于与 Docker 守护进程进行通信:
client = docker.from_env()
3、列出所有容器
要列出所有正在运行的容器,可以使用以下代码:
containers = client.containers.list() for container in containers: print(container.name)
4、创建并运行容器
要创建并运行一个新的容器,可以使用以下代码:
image = "python:3.7" container = client.containers.run(image, name="my_new_container", detach=True) print("容器已创建,ID:", container.id)
5、停止并删除容器
要停止并删除一个容器,可以使用以下代码:
container = client.containers.get("my_new_container") container.stop() container.remove()
高级用法
1、配置 Docker 守护进程的 URL
默认情况下,docker-py 将尝试连接到本地主机上的 Docker 守护进程,如果你的 Docker 守护进程位于其他主机上,或者使用了非默认端口,你需要手动设置 URL:
client = docker.DockerClient(base_url="tcp://your_docker_host:2375")
2、为容器添加卷(volumes)和绑定挂载点(bind mounts)
要在容器中挂载宿主机上的目录,可以使用 volumes
参数:
client.containers.run("ubuntu", name="my_new_container", volumes={"/path/on/host": {"bind": "/path/in/container", "mode": "rw"}})
同样,也可以使用 bind_mounts
参数:
client.containers.run("ubuntu", name="my_new_container", bind_mounts={"/path/on/host": {"source": "/path/in/container", "mode": "rw"}})
3、为容器设置环境变量和网络配置等属性
可以在 run
方法中设置各种属性,
client.containers.run("ubuntu", name="my_new_container", environment={"MY_ENV_VAR": "my_value"}, network_mode="bridge")
相关问题与解答
1、如何查看 Docker 守护进程的状态?
答:client.info()
方法可以返回关于 Docker 守护进程的信息。{"Containers": {"running": 0, "paused": 0, "restarting": 0}}。"running"、"paused" 和 "restarting" 分别表示正在运行、暂停和重启的容器数量。
评论(0)