在运行过程中在Docker中运行命令
我希望能够为我的自定义Ubuntu命令运行一个在运行过程中在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
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容器,运行我的两个命令,然后使用1docker run
命令行退出容器。我想您需要启动一个shell来运行两个命令:
docker run --mount ... myubuntu /bin/bash -c 'cd somewhere && do something'
你的目标应该是一条绝对路径。你是说
/Project
?也可以尝试。。。myubuntubash-c'cd/Project&./a.out
。您需要提供下面Mark指出的可执行文件;你不是每次本地内容发生变化时都要重新构建它吗?您当前的Dockerfile是什么样子的?(图像名称后的所有内容将替换DockerfileCMD
,语义相同。)谢谢!我能让它工作,它帮了我很多