【发布时间】:2020-01-12 11:12:51
【问题描述】:
我正在尝试使用在我的管道中运行的 sh 文件连接到 linux vm,以创建小型 CI/CD 解决方案。我的想法是登录到 vm 并执行 docker compose down/up 操作。
我的虚拟机是 ubuntu 18
这是 bash 文件中的代码。
sshpass -p mypassword ssh -tt -o StrictHostKeyChecking=no user@vmip
cd ~ /folder/subfolder
docker-compose down
docker-compose up
我尝试在本地运行它,但出现此错误:
nodename nor servname provided, or not known
: No such file or directoryfolder/subfolder
No such command: down
有什么解决方法吗?
提前致谢!
【问题讨论】:
-
波浪号和第一个斜线之间的空格是有意的吗? (第 2 行)您似乎连第一行都没有。
-
看起来你的脚本中有 dos 行结尾。通过
dos2unix实用程序运行您的脚本并在十六进制编辑器hexdump -C或cat -v下检查。 -
空格不是故意的,是错字,没有意识到谢谢!关于连接线,它是单独执行的。在 bash 中执行时不确定它是否有效。
-
还要注意
ssh之后的命令会在local系统上运行。我会将“运行这些命令”和“远程”部分分开,然后执行ssh user@vmip ./restart-docker-app之类的操作。 -
优秀@DavidMaze。不知道在本地运行的命令。将尝试您的解决方案
标签: bash docker ubuntu-18.04 bitbucket-pipelines