1. docker 远程访问
默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作。
如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信。
$ sudo vim /etc/default/docker
DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375"
$ sudo service docker restart
这样就可以本地和远程访问docker进程了。
2. docker-py
3. install
pip install docker-py
4. Client API
实例化Client class,与Dokcer daemon通信
from docker import Client
cli = Client(base_url='unix://var/run/docker.sock')
params:
- base_url(str)
- version(str)
参考 ##protocol + hostname + port ## 方式
base_url = 'tcp://127.0.0.1:2375'
base_url = 'unix://var/run/docker.sock'
5. create_container
6. start
params:
- contaner(str): The container to start
# 'ubuntu' is a container's name
c.start('ubuntu')
return:
None if success
7. stop
params:
- container(str): The container to start
- timeout(int): Timeout in seconds to wait for the container to shop before sending a SIGKILL
# 'ubuntu' is a container's name
c.stop('ubuntu')
return:
None if success