Docker API使用

环境

- docker version 20.10.8
- curl 7.74.0
- docker api version 1.4.1

api文档地址 https://docs.docker.com/engine/api/v1.41/

示例

获取容器

https://docs.docker.com/engine/api/v1.41/#operation/ContainerList

# docker ps -a
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/json?all=true'
# docker ps --last=2
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/json?limit=2'
# docker ps --filter=status=running
# ?filters={"status":["running"]} 经过urlencode编码
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/json?filters=%7B%22status%22%3A%20%5B%22running%22%5D%7D'
# 更多parameter见API说明

在这里插入图片描述

在这里插入图片描述

创建容器

https://docs.docker.com/engine/api/v1.41/#operation/ContainerCreate

# docker run --name=nginx-test -d nginx
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/create?name=nginx-test' -X POST -H "Content-Type: application/json; charset=utf-8" -d '{"Image": "nginx"}'
# {"Id":"f550b859af5db54396daba6450a7906fcf51ded63e12e0ef8b3a913013827c3a","Warnings":[]}
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/f550b859af5db54396daba6450a7906fcf51ded63e12e0ef8b3a913013827c3a/start' -X POST -H "Content-Type: application/json; charset=utf-8"

# docker run --name=nginx-test2 -p 8080:80 -d nginx
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/create?name=nginx-test2' -X POST -H "Content-Type: application/json; charset=utf-8" -d '{"Image": "nginx", "PortBindings":{"80/tcp":[{"HostPort":"8888"}]}}'
curl --unix-socket /var/run/docker.sock 'http://localhost/v1.41/containers/f2f93023c261e0f6ba72b0cbf2adde0b11d12c5f9bf1a8a61df8bfaeaa71f3ad/start' -X POST -H "Content-Type: application/json; charset=utf-8"

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值