是否有可能像普通的API一样使用docker远程API?

我想将本地脚本文件复制到远程主机并运行其中的一个。 在本地主机上,我会使用这些命令:

docker run -d python tail -f /dev/null docker cp ./ <id>:/usr/local/bin/ docker exec <id> python /usr/local/bin/script.py 

我想添加一个额外的命令指定远程机器的IP和端口

官方网站build议使用curl。 有一个docker客户端的列表 ,但所有这些都应该以编程方式使用。

我宁愿从控制台运行这些命令,或者将它们放到一个.bat文件中。 为什么通过curl /用某种语言设置一个项目来运行三个命令来引入更多的复杂性呢? docker-toolbox是否允许在远程主机上执行命令?

docker命令行可以像本地引擎一样针对远程Docker引擎工作 – 它使用环境variables来指定它应该连接的API的详细信息。

docker-machine用env命令把它整齐地包装起来,但是你可以通过设置这些variables来使用普通的docker CLI来实现:

 DOCKER_HOST=tcp://192.168.99.101:2376 DOCKER_CERT_PATH=/Users/nathanleclaire/.docker/machines/.client DOCKER_TLS_VERIFY=1 

使用您自己的远程主机地址和证书。

默认情况下,Docker Engine API不会暴露给远程客户端,因此您需要对Docker Engine进行configuration – 在Docker Engine中使用TLS显示了如何。