技术标签: curl # 深入浅出Docker remote-api docker
Docker的Remote Api并不是1.12才有的,Docker1.12的Remote Api升到了1.24。Remote api的使用在1.12中没有大的变化,稍微大一点的变化是到这个版本之后,二进制文件分裂成了主client的docker以及主server的dockerd了。在centos上通过systemd的配置变化不大,无非是将tcp://ip:port设定到启动的Option中而已,下面来看一下如何设定和简单使用。
可以看到只有unix socket的方式
[root@host34 system]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2016-08-20 09:17:29 EDT; 5min ago
Docs: https://docs.docker.com
Main PID: 12409 (dockerd)
Memory: 31.5M
CGroup: /system.slice/docker.service
tq12409 /usr/bin/dockerd
mq12412 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-inte...
[root@host34 system]# cp /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service.bak
[root@host34 system]# vi /usr/lib/systemd/system/docker.service
[root@host34 system]# diff /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service.bak
11c11
< ExecStart=/usr/bin/dockerd -H 192.168.32.34:2375
---
> ExecStart=/usr/bin/dockerd
[root@host34 system]#
命令:systemctl daemon-reload
命令:systemctl restart docker
[root@host34 system]# systemctl daemon-reload
[root@host34 system]# systemctl restart docker
[root@host34 system]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2016-08-20 23:48:09 EDT; 10s ago
Docs: https://docs.docker.com
Main PID: 13063 (dockerd)
Memory: 21.7M
CGroup: /system.slice/docker.service
tq13063 /usr/bin/dockerd -H 192.168.32.34:2375
mq13067 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-inte...
使用curl确认remote api版本和docker版本信息
[root@host34 system]# curl http://192.168.32.34:2375/version
{
"Version":"1.12.1","ApiVersion":"1.24","GitCommit":"23cf638","GoVersion":"go1.6.3","Os":"linux","Arch":"amd64","KernelVersion":"3.10.0-327.28.2.el7.x86_64","Experimental":true}
[root@host34 system]#
通过images/json来取得image列表
[root@host34 system]# curl http://192.168.32.34:2375/images/json
[{
"Id":"sha256:6a6aaff36c0e44069f53cb24325df1ab94ed1f8728fbf9d27a7dad77a0bb40e1","ParentId":"sha256:8bb55b6d05b4ad4b28f88d85d924c70456ba2154143cba35dd7941f225856b63","RepoTags":["harbor_log:latest"],"RepoDigests":null,"Created":1471476367,"Size":187937470,"VirtualSize":187937470,"Labels":{}},{
"Id":"sha256:97701402d89b48ad96d546e2f6d31d85c0dfa14b62fc2d198df683203e316487","ParentId":"","RepoTags":["sonarqube:latest"],"RepoDigests":["sonarqube@sha256:88845581b9d2ece8822c610f3430769d638298784a421186fe41850a7311bd31"],"Created":1470946631,"Size":790910817,"VirtualSize":790910817,"Labels":{}},{
"Id":"sha256:f8d79ba03c00bbcd8079cf05b7526ac8f4f422744aad8c3747a29a38ed8c4a41","ParentId":"","RepoTags":["ubuntu:latest"],"RepoDigests":["ubuntu@sha256:8e2324f2288c26e1393b63e680ee7844202391414dbd48497e9a4fd997cd3cbf"],"Created":1470937589,"Size":126368859,"VirtualSize":126368859,"Labels":{}},{
"Id":"sha256:ff60113363279ed0eb02aadd3149368b414dcf9baa4d3ce3c1fc8b6f4a03875e","ParentId":"","RepoTags":["ubuntu:14.04"],"RepoDigests":["ubuntu@sha256:ef500a237fb51cea075b270d811601c7226097f61b34a8ed4b4aa4e350a2c66d"],"Created":1470937563,"Size":187935394,"VirtualSize":187935394,"Labels":{}},{
"Id":"sha256:ddb795388d57a4e04872558c9bf9a8a16bd0fd86421575daadedc80ad4492db5","ParentId":"","RepoTags":["elasticsearch:latest"],"RepoDigests":["elasticsearch@sha256:6eecc2f2878a05bfc7a8f01e2b8f2f2ce8e5c3adb0799c8ef15248dbf1bb7815"],"Created":1470936135,"Size":345057490,"VirtualSize":345057490,"Labels":{}},{
"Id":"sha256:2baf469627a99bf5391b9787e24c6cfddb501f42af87438958d3c2eb15d937d1","ParentId":"","RepoTags":["logstash:latest"],"RepoDigests":["logstash@sha256:5c8bcc7785eedf69043ec758d72fc3edc3a6a965067c87084168fff0eb534644"],"Created":1470856281,"Size":461494743,"VirtualSize":461494743,"Labels":{}},{
"Id":"sha256:741f9784699093113c250d6669f9f61e22adfb8cce058bb5e7fa15ab6f497cff","ParentId":"","RepoTags":["kibana:latest"],"RepoDigests":["kibana@sha256:a32096e588ba49b87fd2e146d4d60aecb620219006afea1aa55e44528d127fa2"],"Created":1470263992,"Size":297003643,"VirtualSize":297003643,"Labels":{}},{
"Id":"sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749","ParentId":"","RepoTags":["busybox:latest"],"RepoDigests":["busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6"],"Created":1466724217,"Size":1092588,"VirtualSize":1092588,"Labels":{}},{
"Id":"sha256:0d409d33b27e47423b049f7f863faa08655a8c901749c2b25b93ca67d01a470d","ParentId":"","RepoTags":["nginx:latest"],"RepoDigests":["nginx@sha256:0fe6413f3e30fcc5920bc8fa769280975b10b1c26721de956e1428b9e2f29d04"],"Created":1464804059,"Size":182735995,"VirtualSize":182735995,"Labels":{}}]
[root@host34 system]#
注意点:设定之后,DOCKER_HOST也需要设定,不然正常的docker cli无法正常执行。
[root@host34 system]# export DOCKER_HOST=tcp://192.168.32.34:2375
[root@host34 system]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
harbor_log latest 6a6aaff36c0e 3 days ago 187.9 MB
sonarqube latest 97701402d89b 9 days ago 790.9 MB
ubuntu latest f8d79ba03c00 9 days ago 126.4 MB
ubuntu 14.04 ff6011336327 9 days ago 187.9 MB
elasticsearch latest ddb795388d57 9 days ago 345.1 MB
logstash latest 2baf469627a9 10 days ago 461.5 MB
kibana latest 741f97846990 2 weeks ago 297 MB
busybox latest 2b8fd9751c4c 8 weeks ago 1.093 MB
nginx latest 0d409d33b27e 11 weeks ago 182.7 MB
[root@host34 system]#
没有container时,取得空的列表
[root@host34 system]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@host34 system]#
[root@host34 system]# curl http://192.168.32.34:2375/containers/json
[]
[root@host34 system]#
启动一个container
[root@host34 system]# docker run -d nginx
7736b16a2b78a420cdff1a5882579a071f55543f54d10856a2a06e20eca61d02
[root@host34 system]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7736b16a2b78 nginx "nginx -g 'daemon off" 9 seconds ago Up 5 seconds 80/tcp, 443/tcp thirsty_jang
[root@host34 system]#
确认结果
[root@host34 system]# curl http://192.168.32.34:2375/containers/json
[{
"Id":"7736b16a2b78a420cdff1a5882579a071f55543f54d10856a2a06e20eca61d02","Names":["/thirsty_jang"],"Image":"nginx","ImageID":"sha256:0d409d33b27e47423b049f7f863faa08655a8c901749c2b25b93ca67d01a470d","Command":"nginx -g 'daemon off;'","Created":1471751666,"Ports":[{
"PrivatePort":443,"Type":"tcp"},{
"PrivatePort":80,"Type":"tcp"}],"Labels":{},"State":"running","Status":"Up 52 seconds","HostConfig":{
"NetworkMode":"default"},"NetworkSettings":{
"Networks":{
"bridge":{
"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"839a3e2f0e9c49cfa8e12c5eef8916ba85940d41ac43b81601366c63c70441b3","EndpointID":"d288b3f97d794e2a94bf14b8d233614116245cbfa3558bb780120049d75560e3","Gateway":"172.17.0.1","IPAddress":"172.17.0.2","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:02"}}},"Mounts":[]}]
[root@host34 system]#
MP4 - GIF.cmdffmpeg.exe -y -i %~1 -r 16 -vf scale=iw*1.0:ih*1.0 %~dp1%~n1.gif-y 覆盖已有文件-i 输入文件 待转换的MP4文件-r 帧率-vf scale=iw*1.0:ih*1.0 输出文件宽高
解决批改网不能粘贴问题作为一名对英语十分不感冒的学生来说 写一篇英语作文实在是让人头疼,还好有各大翻译软件可以帮助我完成这项艰难的任务。但是没想到批改网作文竟有不能粘贴的功能 下面就让我们解决这个让人头大的问题1 修改浏览器的JavaScript下面我以谷歌浏览器为例 其他的浏览器大致都差不多① 打开谷歌浏览器 找到设置中的高级..._批改网无法复制粘贴
程序员一站式导航_程序员一站式
亲测,有图有真相,再也不用被水文骗了_mysql 8.0 跳过密码登录
根据题目,即求abc=a!+b!+c!下面我们设计算法:设三位数为n,取出每一位数分别放在a、b、c中通过定义形参,求每位数的阶乘,通过函数返回值返回主函数中,调用返回值,每一位的阶乘相加与该三位数比较,相等时,打印结果。#include int fun(int i);int main(){int n, a, b, c;printf("The number satisfied condition:...
What is difference between setFlags and addFlags for intent. Could any one explain it please.Help Appreciated.解决方案When you use setFlags you are replacing the old flags... when you use addFlags you are..._getwindow() setflag 和 addflag
过节了,回不了家!听听庞龙《家 味道》吧_庞龙家的味道的意思
canvas 和 webGL 这两项图形技术结合 css3 可以说能完成绝大部分的动画和需求。但 canvas 和 webGL 毕竟是偏向底层的绘制引擎,某些场景使用起来还是过于繁琐的,不分场合一律使用锤子解决的行为不值得提倡。svg 在解决排版,图标,相关动画还是非常高效的,而且 svg 还是矢量图形,高清还原各种屏幕尺寸的设计简直就是神器。svg 基础知识不再讲解,结合svg特点和应用场景,主要介绍如下几方面的内容svg sprite css background-image 插入svg 文_svg animatemotion
//变量声明方式-1//未初始化,默认值为0var a inta = 1//变量声明方式-2//初始化avar a int = 1//变量声明方式-3//初始化a, 等同于上面的两种方式a := 1学习笔记持续更新,若有误,请批评指导~_golang procedure
描述在archlinux下,希望使用curl产生一条使用sslv3的https访问请求。使用curl的如下命令:curl -k -vvv --sslv3 https://192.168.7.9:8080然而很遗憾,因为sslv3太老了,所以它不支持,╰─>$ curl -k -vvv --sslv3https://192.168.7.9:8080* Trying 192.168.7.9:...
从几何开始,自媒体开始充斥着每个人的微信、朋友圈,每天大量繁杂的信息层出不穷,不乏有的是通过工具自己做的,如下网站http://wxbbx.jh1z.com/,就说要啥有啥,各行各业的从业人员都在绞尽脑汁的告诉你,我在这里,我这里有东西,而且很好的东西,用口袋里的票子就能得到的好东西~~软件开发技术,又分为了很多的方向,有当下和未来都会很火的AI、机器人,也有多年经久不衰的Java,每一个ja...
1.经常会遇到这种问题,经常需要判断远程机器的端口是否开放,在windows机器上使用telnet命令能方便查看,如下telnet ip 端口 如果能打开会进入命令行格式,如果端口没开放会,会fail..._我没开远程工具端口会怎么样