如何自定义 docker gcc 命令并添加自己的路径而不是 /usr/src
How to customize the docker gcc command and add own path instead of /usr/src
我正在尝试使用 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
你似乎对这里的几件事感到困惑。
-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"
我正在尝试使用 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
你似乎对这里的几件事感到困惑。
-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"