如何自定义docker gcc命令并添加自己的路径而不是/ usr / src

时间:2015-02-20 05:38:56

标签: gcc docker

我正在尝试使用docker的gcc容器编译名为test.c的C文件。

我正在使用以下命令,我已将test.c放在我的home中的ubuntu中。

sudo docker run -v /home/moomal/workspace/FypProject/WebContent/file/:/myapp.c:ro gcc:4.9 sh -c "gcc -o myapp /home/moomal/workspace/FypProject/WebContent/file/myapp.c; ./myapp"

它很酷,但是,我想将文件夹从home更改为eclipse web项目文件夹中的文件夹。我在网页上有一个编辑器,然后在编译时它会在文件夹中创建一个test.c文件。我想访问该文件。

我尝试添加/home/moomal/workspace/FypProject/WebContent/file这样的路径,但是我收到错误

   gcc: error: /home/moomal/workspace/FypProject/WebContent/file/myapp.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
sh: 1: ./myapp: not found

1 个答案:

答案 0 :(得分:1)

你似乎对这里的几件事情感到困惑。

-v HOST_PATH:CON_PATH参数可用于在容器中挂载文件,就像您正在尝试的那样。 HOST_PATH可以是文件或目录。 CON_PATH确定该文件或目录在容器中的位置。在你的情况下,我想你想要:

-v /home/moomal/workspace/FypProject/WebContent/file/myapp.c:/myapp.c

不只是...file/:/myapp.c。我不确定您的版本要做什么(目录如何映射到文件?)。

另外,在shell命令中给出了主机上的路径,但是当在容器中处理它时,你需要容器​​中的路径,即:

gcc -o myapp /myapp.c

把它放在一起,我希望看到类似的东西:

sudo docker run -v /home/moomal/workspace/FypProject/WebContent/file/myapp.c:/myapp.c:ro gcc:4.9 sh -c "gcc -o myapp /myapp.c; ./myapp"