docker命令的自动化

我想做docker命令的自动化,

我可以validationdocker命令来validation完整性。

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

如果您正在寻找一种方法来自动化使用Docker创build和configuration虚拟机,您应该看看Vagrant(也许是Puppet)。

stream浪汉

Vagrant是创build虚拟机的工具。 你可以在http://www.vagrantup.com/find它。 它的工作原理是这样的:你安装Vagrant和像VirtualBox这样的虚拟机。 然后你创build一个名为Vagrantfile的文件来描述你的虚拟机。 对于我的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启动时运行的脚本。 在我的例子中,当虚拟机需要添加Docker到sudo时,我正在运行三个shell脚本,禁用防火墙(hahaha)并设置我需要的环境variables。 你可以在这里任何东西。 如果shell命令不够,请查看(例如)Puppet( http://puppetlabs.com/ )。

你只是叫vagrant up来创build你的虚拟机和vagrant ssh来访问它。 你可以摧毁它,并在你需要的时候重新创build它。