Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在运行过程中在Docker中运行命令_Docker_Docker Compose_Dockerfile - Fatal编程技术网

在运行过程中在Docker中运行命令

在运行过程中在Docker中运行命令,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我希望能够为我的自定义Ubuntu命令运行一个docker run…命令,其中docker将运行两个命令,就像docker开始运行时键入的一样。我已将docker装入本地文件夹,并且在装入的文件夹中有一个自定义代码,我希望运行docker时也能在docker中运行cd Project和/a.out,但我不确定如何在一个长命令中实现这一点 我已经尝试过docker run--mount type=bind,source=“/home/ec2 user/environment/Project”,ta

我希望能够为我的自定义Ubuntu命令运行一个
docker run…
命令,其中docker将运行两个命令,就像docker开始运行时键入的一样。我已将docker装入本地文件夹,并且在装入的文件夹中有一个自定义代码,我希望运行docker时也能在docker中运行
cd Project
/a.out
,但我不确定如何在一个长命令中实现这一点

我已经尝试过docker run--mount type=bind,source=“/home/ec2 user/environment/Project”,target=“Project”myubuntu-cd-Project&&./a.out,但是我得到了一个OCI运行时创建失败

我也尝试过docker run--mount type=bind,source=“/home/ec2 user/environment/Project”,target=“Project”myubuntu-c'cd-Project&&./a.out',但得到了相同的错误


最后,最好在Dockerfile中有我的挂载目录,
cd项目,./a.out
,以及exit命令,这样docker容器就会打开,在
a.out
中运行编译后的代码,然后用一个简单的
docker run myubuntu
命令退出,但我知道在Dockerfile中装载需要在每次本地文件夹更改时重建映像。这样我就可以打开docker容器,运行我的两个命令,然后使用1
docker run
命令行退出容器。

我想您需要启动一个shell来运行两个命令:

docker run --mount ... myubuntu /bin/bash -c 'cd somewhere && do something'

你的目标应该是一条绝对路径。你是说
/Project
?也可以尝试
。。。myubuntubash-c'cd/Project&./a.out
。您需要提供下面Mark指出的可执行文件;你不是每次本地内容发生变化时都要重新构建它吗?您当前的Dockerfile是什么样子的?(图像名称后的所有内容将替换Dockerfile
CMD
,语义相同。)谢谢!我能让它工作,它帮了我很多