我需要从特定目录运行应用程序。
$ sudo docker run -P ubuntu/decomposer 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'
2014/10/09 21:30:03 exec: "cd /local/deploy/decomposer; ./decomposer-4-15-2014": stat cd /local/deploy/decomposer; ./decomposer-4-15-2014: no such file or directory
Run Code Online (Sandbox Code Playgroud)
该目录肯定存在,如果我通过交互式运行 bash 连接到 docker,我可以运行上述命令。
$ sudo docker run -i -t ubuntu/decomposer /bin/bash
# cd /local/deploy/decomposer; ./decomposer-4-15-2014
Run Code Online (Sandbox Code Playgroud)
我可以通过指定完整路径来运行我的程序,但是当它期望从当前目录启动时它会崩溃。我能做什么?
小智 124
您可以使用-w选项来更改您的工作目录。
docker run
-w, --workdir="" Working directory inside the container
Run Code Online (Sandbox Code Playgroud)
所以,在你的情况下,你会运行:
sudo docker run -w /local/deploy/decomposer -P ubuntu/decomposer ./decomposer-4-15-2014
Run Code Online (Sandbox Code Playgroud)
Glu*_*eon 50
将您的命令作为参数传递给 /bin/sh,如下所示:
sudo docker run -P ubuntu/decomposer /bin/sh -c 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115157 次 |
| 最近记录: |