首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么在bash脚本中执行ssh命令时,docker-compose看不到我的.env文件?

为什么在bash脚本中执行ssh命令时,docker-compose看不到我的.env文件?
EN

Stack Overflow用户
提问于 2018-06-19 06:22:47
回答 1查看 145关注 0票数 0

当我以用户fish的身份ssh到server.foo.com并执行docker-compose up时,docker将看到一个相应的.env文件,该文件位于同一目录中。

代码语言:javascript
复制
[fish@staging-core ~]$ ls -al
total 28
drwx------. 4 fish fish  191 Jun 18 21:47 .
drwxr-xr-x. 4 root   root     34 Jun 18 20:35 ..
-rw-------. 1 fish fish  558 Jun 18 22:15 .bash_history
-rw-r--r--. 1 fish fish   18 Apr 11 00:53 .bash_logout
-rw-r--r--. 1 fish fish  193 Apr 11 00:53 .bash_profile
-rw-r--r--. 1 fish fish  231 Apr 11 00:53 .bashrc
-rw-r--r--. 1 fish fish    0 Jun 18 20:19 .cloud-locale-test.skip
drwx------. 2 fish fish   25 Jun 18 21:41 .docker
-rw-r--r--. 1 fish fish  838 Jun 18 22:15 .env
-rw-r--r--. 1 fish fish 1066 Jun 18 22:15 docker-compose.yml
drwx------. 2 fish fish   29 Jun 18 20:35 .ssh

但是,当我尝试通过bash脚本运行它时,我得到了以下错误:

代码语言:javascript
复制
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null fish@server.foo.com docker-compose down && docker-compose pull && docker-compose up -d && docker-compose scale api=4 && docker-compose scale ml=4

我得到了

代码语言:javascript
复制
Warning: Permanently added 'server.foo.com,165.227.100.2' (ECDSA) to the list of known hosts.
Removing network core_default
Network core_default not found.
WARNING: The FISH_TAG variable is not set. Defaulting to a blank string.

为什么在bash脚本中执行ssh命令时,docker-compose看不到我的.env文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 07:24:02

您应该用双引号将命令引起来,否则链接的指令将在本地shell上执行

代码语言:javascript
复制
 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null fish@server.foo.com 
 "docker-compose down && \
 docker-compose pull && \
 docker-compose up -d && \
 docker-compose scale api=4 && \
 docker-compose scale ml=4"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50918233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档