如何定制docker gcc命令并添加自己的path而不是/ usr / src
我想用docker的gcc容器编译一个名为test.c的C文件。
我正在使用下面的命令,我已经把test.c放在了我的home
。
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项目文件夹中的文件夹。 我有一个网页上的编辑器,然后编译它创build一个文件夹内的test.c文件。 我想要访问该文件。
我试图添加/home/moomal/workspace/FypProject/WebContent/file
的path,但我得到错误
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
你似乎对这里的几件事感到困惑。
-v HOST_PATH:CON_PATH
参数可用于在容器中装载文件,正如您似乎正在尝试的那样。 HOST_PATH
可以是文件或目录。 CON_PATH
决定文件或目录在容器中的位置。 在你的情况下,我想你想要:
-v /home/moomal/workspace/FypProject/WebContent/file/myapp.c:/myapp.c
不只是...file/:/myapp.c
。 我不确定你的版本要做什么(一个目录如何映射到一个文件?)。
另外,在shell命令中你给出了主机上的path,但是这是在容器中处理的,你需要在容器中的path,即:
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"