在docker容器内执行脚本,该脚本是与WORKDIR不同的文件夹

时间:2016-10-04 21:50:56

标签: docker

我在我的docker容器中: 这是我的工作目录

root@19b84a014662:/usr/src/ghost#

我有一个脚本:

root@19b84a014662:/

我可以cd到/并执行脚本。但我需要从docker-compose文件中执行脚本。我试过了

./test.sh

但这实际上意味着它正在/usr/src/ghost/中搜索脚本而不是/ 如何在我的容器的/中执行脚本?

示例:我ssh到我的容器中:

root@19b84a014662:/usr/src/ghost# ls
Gruntfile.js  LICENSE  PRIVACY.md  README.md  config.example.js  config.js  content  core  index.js  node_modules  npm-shrinkwrap.json  package.json

我的容器根目录中有一个脚本。我想用:

执行它
./test.sh

它只显示/usr/src/ghost而不是/

中的文件夹/脚本
root@19b84a014662:/usr/src/ghost# ./
content/      core/         node_modules/

1 个答案:

答案 0 :(得分:0)

只需将您的./test.sh替换为

/test.sh

因为./表示你从当前目录开始(在这种情况下是工作目录/usr/src/ghost/)。尽管如此/意味着您从根目录开始,这就是您想要做的事情。

或者,您可以使用下面的&&连接器切换到root目录并在一个命令中执行脚本。但我会推荐以上内容。

cd / && ./test.sh