2

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

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

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

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

我更喜欢从控制台运行这些命令,或者将它们放入.bat文件中。为什么 curl/ 使用某种语言设置项目以运行三个命令会带来额外的复杂性?docker-toolbox 是否允许在远程主机上执行命令?

4

1 回答 1

1

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

docker-machine使用env命令将其巧妙地包装起来,但您可以docker通过设置以下变量使用常规 CLI 来完成:

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

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

默认情况下,Docker 引擎 API 不会暴露给远程客户端,因此您需要对其进行配置 -将 TLS 与 Docker 引擎一起使用会向您展示如何操作。

于 2016-10-28T15:51:19.740 回答