我一直试图创建一个上下文来部署几个容器从我的主Mac到另一个,但我一直得到一个奇怪的错误。
所以,我有两台mac,一台iMac(2013年底)(这里将被称为企业)和一台Macbook Pro(2015年中期)(这里将被称为挑衅)。目标性是我的主要计算机,我想将我的容器部署到企业,以便不超载目标性内存。我一直在使用docker上下文来实现这一目标。目前,我有企业运行Docker v20.10.16和目标性运行v20.10.16。
我已经在挑衅上创建了上下文,在我运行docker context use enterprise
之后,当我运行docker container ls
时,我得到以下错误:
error during connect: Get "http://docker.example.com/v1.24/containers/json": command [ssh -l rafaelguerra -- Enterprise.local docker system dial-stdio] has exited with exit status 127, please make sure the URL is valid, and Docker 18.09 or later is installed on the remote host: stderr=zsh:1: command not found: docker
有谁知道怎么让它工作吗?
感谢更新:
奇怪的事情我刚刚发现,当登录到企业和运行echo $PATH
返回/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
然而,当我运行ssh rafaelguerra@enterprise.local 'echo $PATH'
我得到以下/usr/bin:/bin:/usr/sbin:/sbin
我不知道为什么。
我找到了问题的原因,docker运行的所有命令都是在ssh内运行的,而不是永久的ssh会话。因此,当命令在ssh中运行时,zsh不会加载正确的PATH。因此,我唯一需要做的就是~/内部设置了正确的路径。Zshenv文件,现在一切正常。