在系统中找到 /usr/lib/systemd/system/docker.service 文件
ExecStart=
部分增加最后一行
-H unix://var/run/docker.sock -H tcp://0.0.0.0:2375 \
表示开启 2375 端口,启用远程API
重启 docker 生效
systemctl daemon-reload
systemctl restart docker
例如当前主机地址是: 192.168.1.2
打开浏览器,输入地址和相应的API即可操作 docker。
查看docker版本
http://192.168.1.2:2375/version
查看主机上所有docker镜像
http://192.168.1.2:2375/images/json
查看所有容器清单
http://192.168.1.2:2375/ containers/json
创建新容器
在请求头中需要写创建容器的参数
http://192.168.1.2:2375/ containers/create
具体示例
curl -X POST -H "Content-Type: application/json" -d '{
"Hostname":"", "User":"", "Memory": 0, "MemorySwap": 0,
"AttachStdin": false, "AttachStdout": true, "AttachStderr": true,
"PortSpecs": null, "Tty": false, "OpenStdin": false,
"StdinOnce": false, "Env": null, "Cmd": [ "date" ],
"Image": "ubuntu", "Tag": "latest", "Volumes": { "/tmp":{} },
"WorkingDir": "", "DisableNetwork": false,
"ExposedPorts": {"22/tcp": {} }
}' http:// 192.168.1.2:2375/ containers/create
监控容器
http://192.168.1.2:2375/ containers/(id)/json
进程列表
http://192.168.1.2:2375/ containers/(id)/top
容器日志
http://192.168.1.2:2375/ containers/(id)/logs
导出容器
http://192.168.1.2:2375/ containers/(id)/export
启动容器
http://192.168.1.2:2375/ containers/(id)/start
停止容器
http://192.168.1.2:2375/ containers/(id)/stop
重启容器
http://192.168.1.2:2375/ containers/(id)/restart
终止容器
http://192.168.1.2:2375/ containers/(id)/kill
注意点
这个 docker remote API ,一般用完后就关掉,或者不要对公网开放,容易被黑客利用。
比如: 黑客通过这个API,下载一个挖矿的image并启动,会占用大量的系统资源。
察觉系统有异常,检查一下docker是否有问题。
查看所有 docker 容器
docker ps -a
从中找出不认识的容器,停止运行并删除。
停止容器运行
docker stop (容器id)
删除容器
docker rm (容器id)
删除镜像
docker rmi (镜像id )
重启 docker
systemctl restart docker.service