无法启动docker容器并运行命令OCI Runtime Create Failed

时间:2018-05-24 09:41:03

标签: docker

我试图执行以下操作:

运行特定的泊坞窗容器lljvm_work。 让它在../services/c中安装一个本地目录(c_files及其泊坞镜镜像)。 在那里运行一个命令(lljvm_cc)来处理一些文件。

我尝试做的是:

"docker run -v /home/sven/git/cerberos/CerberOS/uJ/services/c/:/c_files -tid lljvm_work llvjm_cc /c_files/test_c_srv.c -lc_support -o test_c_srv -g3"

不幸的是,这会产生如下错误:

  

docker:来自守护程序的错误响应:OCI运行时创建失败:Container_linux.go:348:启动容器进程导致" exec:\" lljvm-cc \" ::找不到可执行文件在$ PATH":未知

我已尝试将命令放在引号等但无法使其工作。有什么建议吗?

附录: 我还尝试过的是以下内容

docker run -v /home/sven/git/cerberos/CerberOS/uJ/services/c/:/c_files -w /c_files -it lljvm_work /bin/bash -c 'lljvm-cc test_c_srv.c -l_c_support -o test_c_srv -g3'
/bin/bash: lljvm-cc: command not found

正如您所看到的那样,它不起作用。这是在Ubuntu上。

使用如下的交互式shell单独执行这些步骤确实有效。 E.g:

    ~$ docker run -v /home/sven/git/cerberos/CerberOS/uJ/services/c/:/c_files -w /c_files -it lljvm_work /bin/bash

//Container started

root@6a70a2346951:/c_files# lljvm-cc test_c_srv.c -l_c_support -o test_c_srv -g3

// Desired output is created

1 个答案:

答案 0 :(得分:0)

似乎给可执行文件的完整路径确实有效,尽管从容器本身内部不需要这样做。

无论如何,以下工作:

docker run -v $(UJ_DIR)/services/c/:/c_files -w /c_files -it lljvm_work \
            /bin/bash -c '../usr/local/lib/lljvm/lljvm-cc $(SRV).c -l_c_support -o $(SRV) -g3'