Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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
Linux 在主机配置期间,如何在容器内执行命令_Linux_Docker_Vagrant_Containers - Fatal编程技术网

Linux 在主机配置期间,如何在容器内执行命令

Linux 在主机配置期间,如何在容器内执行命令,linux,docker,vagrant,containers,Linux,Docker,Vagrant,Containers,我使用vagrant构建docker主机,然后我有一个shell脚本,它基本上安装了主机所需的所有包,该脚本还构建和运行容器 流浪档案 config.vm.provision :shell, :inline => "sudo /vagrant/bootstrap.sh" 在里面,我运行的容器就像 docker run -d . .bla bla .. . 这很好,但我必须用ssh连接到容器中并运行makedeploy来安装所有的东西 是否有任何方法可以从我的bootsrap.sh中运

我使用vagrant构建docker主机,然后我有一个shell脚本,它基本上安装了主机所需的所有包,该脚本还构建和运行容器

流浪档案

config.vm.provision :shell, :inline => "sudo /vagrant/bootstrap.sh"
在里面,我运行的容器就像

docker run -d  . .bla bla .. .
这很好,但我必须用ssh连接到容器中并运行
makedeploy
来安装所有的东西

是否有任何方法可以从我的
bootsrap.sh
中运行
make deploy

一种方法是将其作为切入点,但这将适用于每次跑步


我只想在配置主机时,该命令应该在某个容器中运行,并向我显示主机的输出,如vagarnt所示

使用
docker exec

见医生

比如说

docker exec-it容器\u id make deploy

docker exec-it容器\u id bash

然后

make-deploy


在您的容器中

我的makefile位于/var/www目录中,如何执行类似于
cd/var/www;make deploy
你得到了ideaThanks,所以你的意思是我甚至可以在一行上运行多个命令是的,或者你可以有一个脚本来制作cd和make,然后你启动它,比如最后2个
docker exec
你也可以将它们简化为单个命令:
make-C/var/www deploy