gpt4 book ai didi

gcc - 在docker gcc和java中制作2个卷

转载 作者:行者123 更新时间:2023-12-02 21:28:46 26 4
gpt4 key购买 nike

我在gcc容器中设置了一个docker卷。我需要编译代码,并通过文本文件为其提供一些stdin。我可以使用以下命令来做到这一点。

docker run \
-v /home/usr/workspace/proj/WebContent/files:/mycode \
gcc:4.9 \
sh -c 'cd mycode; gcc -o myapp ./mycode.c; ./myapp < ./test.txt'

现在我的问题是,我需要为每个用户及其用户名创建一个单独的文件夹,但text.txt仍与上述相同。我如何给他们自己的道路。因为现在我得到一个错误,找不到test.txt,当然也不会。我尝试为test.txt制作一个单独的卷,但是我猜不可能在一个容器中制作两个卷,或者我做错了。

我尝试过的(请不要判断,我只是在学习:P)
docker run \
-v /home/usr/workspace/proj/WebContent/file/username:/mycode \
-v /home/usr/workspace/proj/WebContent/file/:/tst \
gcc:4.9 \
sh -c 'cd mycode; gcc -o myapp ./mycode.c; cd tst; ./myapp < ./test.txt'

最佳答案

请仔细查看以下命令:

sh -c 'cd mycode; gcc -o myapp ./mycode.c; cd tst; ./myapp < ./test.txt'

因为您首先在同一 shell 中放入 cd mycode,然后再放入 cd tst,所以您尝试使用 cd mycode/tst,而您的挂载位于 /tst

同样, myapp/mycode中,而不在 tst中,因此您不能在 ./myapp目录中运行 tst并期望它可以工作。

代替:
sh -xc 'cd /mycode && gcc -o myapp ./mycode.c && cd /tst && /mycode/myapp < ./test.txt'

关于gcc - 在docker gcc和java中制作2个卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29204063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com