python docker

In [1]:
import docker
In [2]:
client = docker.from_env(version='1.24', timeout=6)
In [3]:
# client
print(dir(client))
 
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'api', 'configs', 'containers', 'df', 'events', 'from_env', 'images', 'info', 'login', 'networks', 'nodes', 'ping', 'plugins', 'secrets', 'services', 'swarm', 'version', 'volumes']
In [4]:
images = client.images
In [5]:
print(dir(images))
 
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'build', 'client', 'create', 'get', 'list', 'load', 'model', 'prepare_model', 'prune', 'pull', 'push', 'remove', 'search']
In [6]:
print(images.list(), "---
", images.list(name="jenkins"), "---
", images.list(all=True),"---
", images.list(filters={"dangling": False}))
 
[<Image: 'docker.io/node:latest'>, <Image: 'docker.io/jenkins:latest'>, <Image: 'docker.io/redis:latest'>, <Image: 'docker.io/jpetazzo/nsenter:latest'>] ---
 [<Image: 'docker.io/jenkins:latest'>] ---
 [<Image: 'docker.io/node:latest'>, <Image: 'docker.io/jenkins:latest'>, <Image: 'docker.io/redis:latest'>, <Image: 'docker.io/jpetazzo/nsenter:latest'>] ---
 [<Image: 'docker.io/node:latest'>, <Image: 'docker.io/jenkins:latest'>, <Image: 'docker.io/redis:latest'>, <Image: 'docker.io/jpetazzo/nsenter:latest'>]
In [7]:
image = images.get("node")
In [8]:
print(image, dir(image))
 
<Image: 'docker.io/node:latest'> ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'attrs', 'client', 'collection', 'history', 'id', 'id_attribute', 'labels', 'reload', 'save', 'short_id', 'tag', 'tags']
In [9]:
print(images.list())
 
[<Image: 'docker.io/node:latest'>, <Image: 'docker.io/jenkins:latest'>, <Image: 'docker.io/redis:latest'>, <Image: 'docker.io/jpetazzo/nsenter:latest'>]
In [10]:
containers = client.containers
print(dir(containers))
 
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'client', 'create', 'get', 'list', 'model', 'prepare_model', 'prune', 'run']
In [18]:
#在运行的容器
print("running: ",containers.list())
print("all: ", containers.list(all=True))
 
running:  [<Container: ff9517585f>]
all:  [<Container: 0edc7e4e22>, <Container: 082c3d3322>, <Container: ff9517585f>]
In [19]:
images.pull("alpine", tag="latest")
Out[19]:
<Image: 'docker.io/alpine:latest'>
In [20]:
# docker pull alpine后运行
containers.run('alpine', 'echo hello world')
Out[20]:
b'hello world
'
原文地址:https://www.cnblogs.com/jachin/p/8613496.html