【问题标题】:Vagrant docker provisioner commandVagrant docker 供应商命令
【发布时间】:2015-03-25 21:38:32
【问题描述】:

我有一个通过 docker 安装 mysql 的 Vagrantfile,然后我想运行一个额外的命令来创建我的数据库。现在我的 Vagrantfile 有

config.vm.provision "docker" do |d|
  d.pull_images "tutum/mysql"
  d.run "tutum/mysql",
    args: ' -e MYSQL_PASS="password" --name mysql -p 3306:3306',
end

我知道我可以创建一个 shell 配置器来运行引导脚本,但我想知道是否有办法通过 docker 来实现。

【问题讨论】:

    标签: mysql vagrant docker


    【解决方案1】:

    您可以使用 cmd 选项来指定容器的 cmd 参数(更多信息:https://docs.docker.com/reference/builder/#cmd

    例子:

    config.vm.provision "docker" do |d|
      d.run "ubuntu",
        cmd: "bash -l",
        args: "-v '/vagrant:/var/www'"
    end
    

    【讨论】:

    • 我使用的图像已经有一个 CMD 参数,所以我认为这会覆盖它。
    • 是的,它会覆盖它。如果您想在 docker 容器中启动多个进程,最好使用主管。 docs.docker.com/articles/using_supervisord
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多