docker命令的自动化

docker命令的自动化,docker,boot2docker,Docker,Boot2docker,我想实现docker命令的自动化 我可以验证docker命令以验证其合理性 我只需要知道是否有任何插件可用于此目的,或者是否必须从头开始使用哪种语言编写?最初如何启动?如果您正在寻找一种使用Docker自动创建和配置VM的方法,那么您应该看看Vagrant(可能还有Puppet) 流浪汉 Vagrant是创建虚拟机的工具。你可以在这里找到它。它的工作原理基本上是这样的:您可以安装Vagrant和类似VirtualBox的VM。然后创建一个名为Vagrantfile的文件,该文件描述您的VM。对于

我想实现docker命令的自动化

我可以验证docker命令以验证其合理性


我只需要知道是否有任何插件可用于此目的,或者是否必须从头开始使用哪种语言编写?最初如何启动?

如果您正在寻找一种使用Docker自动创建和配置VM的方法,那么您应该看看Vagrant(可能还有Puppet)

流浪汉 Vagrant是创建虚拟机的工具。你可以在这里找到它。它的工作原理基本上是这样的:您可以安装Vagrant和类似VirtualBox的VM。然后创建一个名为Vagrantfile的文件,该文件描述您的VM。对于我的Docker环境,我使用的文件如下所示:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "99designs/ubuntu-saucy-docker"
  config.vm.box_url = "https://vagrantcloud.com/99designs/ubuntu-saucy-docker/version/2/provider/virtualbox.box"

  config.vm.network :forwarded_port, guest: 8080, host: 8080
  config.vm.network :forwarded_port, guest: 4243, host: 4243
  config.vm.network :forwarded_port, guest: 9000, host: 9000
  config.vm.network :forwarded_port, guest: 5000, host: 5000

  config.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=777"]

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2024"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
  end

  config.vm.provision "shell", path: "add_docker_to_sudo.sh"
  config.vm.provision "shell", path: "disable_friewall.sh"
  config.vm.provision "shell", path: "set_nls_lang.sh"

end
该文件描述了您的虚拟机。它定义安装到虚拟机的映像(可能是boot2docker映像)、打开的端口、虚拟机中可用的主机文件夹等。它还可以定义在VM启动时运行的脚本。在我的示例中,当VM启动时,我运行三个shell脚本,将Docker添加到sudo,禁用防火墙(哈哈哈),并设置所需的环境变量。你可以在这里做任何事。如果shell命令不够,请查看(例如)Puppet()


您只需调用
vagrant up
来创建虚拟机,然后调用
vagrant ssh
来访问它。您可以随时销毁它并重新创建它。

您知道Docker文件可以自动生成Docker映像吗?我的目标是完成从Ubuntu vm创建开始的命令,然后在创建的vm上安装Docker,运行映像等。,一次拍摄多个场景…感谢提供非常有用的信息。顺便说一句,你有没有尝试过在node.js框架中做同样的事情,只是一个随机的想法和不同的方法?在node.js中是否可行?Vagrant也是用Ruby编写的,所以语法就是Ruby。我不知道任何使用Node.js的替代方案。