默认情况下,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