【问题标题】:How can i execute commands inside containers during host provision在主机配置期间如何在容器内执行命令
【发布时间】:2015-07-02 05:16:04
【问题描述】:

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

流浪文件

config.vm.provision :shell, :inline => "sudo /vagrant/bootstrap.sh"

在里面我运行容器

docker run -d  . .bla bla .. .

这很好,但我必须 ssh 进入容器并运行 make deploy 来安装所有东西。

有什么方法可以在我的bootsrap.sh 中运行make deploy

一种方法是将其作为入口点,然后每次运行都会这样做,

我只是希望当我配置主机时,该命令应该在某个容器内运行并显示输出,如主机的 vagarnt 节目

【问题讨论】:

    标签: linux docker vagrant containers


    【解决方案1】:

    使用docker exec

    查看文档

    http://docs.docker.com/reference/commandline/exec/

    例如

    docker exec -it container_id make deploy

    docker exec -it container_id bash

    然后

    make deploy

    在你的容器内

    【讨论】:

    • 我的 makefile 在 /var/www dir 中,我该如何执行
    • 类似cd /var/www ; make deploy 你明白了
    • 谢谢,你的意思是我什至可以在一行上运行多个命令
    • 是的,或者您可以拥有一个执行 cd 和 make 的脚本,然后启动它,例如最后 2 个 docker execat registry.hub.docker.com/u/k3ck3c/captvty
    • 您也可以将它们简化为单个命令:make -C /var/www deploy
    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 2015-10-21
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    相关资源
    最近更新 更多