Docker Remote API

来源:互联网 发布:数据健康度 编辑:程序博客网 时间:2024/06/01 17:26

ubuntu16.04配置docker远程访问

查看配置

systemctl show --property=FragmentPath docker 

修改配置文件

sudo vim /lib/systemd/system/docker.servieExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:5678

重新加载配置文件,重启docker

sudo systemctl daemon-reloadsudo systemctl restart docker (or sudo service docker restart)

测试Docker Remote API

curl http://vb:5678/info # vb是Docker宿主机的主机名curl http://localhost:5678/infocurl http://127.0.0.1:5678/info

通过API管理Docker镜像

获取所有宿主机中所有的镜像

curl vb:5678/images/json | python3 -mjson.tool

使用python的json工具整理输出格式,方便查看

查看某一个镜像的信息

curl    localhost:5678/images/a081f7d44c38b87ba89aaa5d62a6caed3b4e7e029462e7c39010e4d04aca2bb8/json | python3 -mjson.tool

在Docker Hub上查找镜像,并不是在本地查找

curl localhost:5678/images/search?term=busybox | python3 -mjson.tool

删除镜像

curl -v -X DELETE vb:5678/images/busybox

镜像历史

curl -v vb:5678/images/busybox/history

所以在build或者commi镜像的时候如果镜像命名是test/api_test这样,在使用API的过程中会遇到问题。
构建镜像

tar -zcf Dockerfile.tar.gz Dockerfilecurl -v -X POST -H "content-type: application/tar" --data-binary '@Dockerfile.tar.gz' localhost:5678/build?t=samplerepo

通过API管理Docker容器

查看正在运行的容器

curl -s localhost:5678/containers/json | python3 -mjson.tool

查看所有的容器,包括停止的容器

curl -s localhost:5678/containers/json?all=1 | python3 -mjson.tool

创建容器

curl -X POST -H "Content-Type: application/json" localhost://5678/containers/create?name=api_busybox -d '{"Image":"busybox", "Hostname":"busybox"}'

调用这个API会创建一个名称为api_busybox的容器,并返回容器的Id等信息。
启动容器

curl -v -X POST -H "Content-Type: application/json' localhost:5678/containers/api_busybox/start

在Docker1.10之前或许还需要加-d配置一些选项,1.10之后加-d选项会出错。
查看容器内的进程

curl localhost:5678/containers/api_busybox/top

导出容器

curl -o testExport.tar.gz localhost:5678/containers/api_export/export

重启容器

curl -v -X POST localhost:5678/containers/api_busybox/restart

停止容器

curl -v -X POST localhost:5678/containers/api_busybox/stop

停止容器

curl -v -X POST localhost:5678/containers/api_busybox/kill
原创粉丝点击