docker API 配置与使用
在网上看到一大堆乱乱七八招的博客,很多都不能用,我根据这些天踩的坑来总结一下吧
首先!怎么配置 docker API
两种方法
- 在
/etc/sysconfig/docker
文件里加一行OPTIONS='-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
(假如options已经存在 参数加后面就好了)
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
- 在
/usr/lib/systemd/system/docker.servic
文件里的ExecStart
参数后面添加-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
我比较喜欢第一个
-
配置文件修改之后 重启
systemctl restart docker
以上就是配置,一行代码的事,接下来检查时候真的docker api可以用了
curl http://127.0.0.1:2375/info
是不是出现一大堆信息? 那就是成功了
接下来我们格式化一下
curl http://127.0.0.1:2375/info | python -m json.tool
是不是出现了版本信息? 说明成功了,python -m json.tool这个干嘛的自行百度吧,格式化工具
查询docker版本信息
[root@registry sysconfig]# curl http://localhost:2375/version | python -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 273 100 273 0 0 1799 0 --:--:-- --:--:-- --:--:-- 1807
{
"ApiVersion": "1.24",
"Arch": "amd64",
"BuildTime": "2018-01-30T09:17:00.069703428+00:00",
"GitCommit": "3e8e77d/1.12.6",
"GoVersion": "go1.8.3",
"KernelVersion": "3.10.0-229.el7.x86_64",
"Os": "linux",
"PkgVersion": "docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64",
"Version": "1.12.6"
}
列举docker容器
curl http://localhost:2375/containers/json
列举docker镜像
curl http://localhost:2375/images/json
查询镜像详细信息
curl http://localhost:2375/images/pid/json
启动容器
curl -X POST -H "Content-Type: application/json" http://localhost:2375/containers/pid/start
停止容器
curl -X POST -H "Content-Type: application/json" http://localhost:2375/containers/pid/stop