绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Docker Remote API 开发(一)
2020-05-09 11:51:33

基本常见的Docker Control Panel 都是收费的,所以手贱打算自己弄一个玩,技术栈:

预期效果图:


因为我机器是使用Docker Machine创建,所以默认已经从Unix socket转发到了tcp port,如果是自己配置,需要在node节点上修改配置文件:

root@node-1:~# cat /etc/default/docker

DOCKER_OPTS='
-H tcp://0.0.0.0:2376
-H unix:///var/run/docker.sock
--storage-driver aufs
--tlsverify
--tlscacert /etc/docker/ca.pem
--tlscert /etc/docker/server.pem
--tlskey /etc/docker/server-key.pem
--label provider=aliyunecs

'

这里注意一下-H 就是转发的配置了,另外还有tls的验证选项,详细配置请看文档:


使用Docker Remote API v1.24,调用远程接口测试:

curl -v -k -E https://{SERVER_IP}:2376/images/json \
  --cert ~/.docker/machine/machines/hz-1/cert.pem \
  --key ~/.docker/machine/machines/hz-1/key.pem \
  --cacert ~/.docker/machine/machines/hz-1/ca.pem


可以拿到数据:

[
    {
        "Id":"sha256:6ff756f6fc44903216bf36e941db37ed5bb707c533c9c07e513d02fc7dfad4ad",
        "ParentId":"",
        "RepoTags":[
            "redis:3.2.3-alpine"
        ],
        "RepoDigests":[
            "redis@sha256:fe846dd3decd53475c7f6b007ccf10834bdd60d3a649ebdb69f43aa10393e80f"
        ],
        "Created":1474338745,
        "Size":20379436,
        "VirtualSize":20379436,
        "Labels":{

        }
    }
]

待续。

---------分割线---------

curl问题:

OS X: Using PEM private keys fail with error: OSStatus -25299

找到解决方法:

For anyone else getting to this issue when searching for "OSStatus -25299", this is how to convert a pem + cert to pkcs12..

openssl pkcs12 -export -in ./client.crt -inkey ./client.pem -out client.p12

where client.crt is your cert, client.pem is your private key, and client.p12 is your new password encrypted cert/key pkcs12 container.

With that I was able to use curl correctly with something like:
curl -v -k -E ./client.p12:password http://url

更简单的:

or just install curl with openssl support:

$ brew install curl --with-openssl
$ brew link curl --force
$ brew --version
curl 7.50.1 (x86_64-apple-darwin15.6.0) libcurl/7.50.1 OpenSSL/1.0.2h zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
(Note: You will probably need to run brew uninstall curl if you have another version of cURL installed using Brew.)

原贴地址:

OS X: Using PEM private keys fail with error: OSStatus -25299 · Issue #283 · curl/curl · GitHub

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Docker 专区
创建时间:2020-05-08 10:53:18
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~