默认情况下,Docker通过非网络UNIXsocket运行。它还可以选择使用SSH或TLS(HTTPS)socket进行通信。
以下示例创建一个docker context 以使用SSH并以远程计算机上的用户身份与远程dockerd守护程序连接的应用程序:host1.example.comdocker-user
创建上下文后,使用docker context use切换dockerCLI以使用它,并连接到远程引擎:
使用default上下文切换回默认(本地)守护程序:
或者,使用DOCKER_HOST环境变量临时切换dockerCLI以使用SSH连接到远程主机。这不需要创建上下文,并且可以用于使用其他引擎创建临时连接:
SSH技巧
为了获得使用SSH的最佳用户体验,请进行以下配置~/.ssh/config,以允许将SSH连接重用于dockerCLI的多次调用:
ControlMaster auto
ControlPath ~/.ssh/control-%C
ControlPersist yes