在Vagrant的Vagrantfile中配置provision脚本 自动安装Docker和Docker Compose

27 min read

以下是一个示例Vagrantfile,其中包含provision脚本,可用于自动安装Docker和Docker Compose:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.network :forwarded_port, guest: 80, host: 8080

  config.vm.provider "virtualbox" do |vb|
     vb.memory = "1024"
  end

  # provision script for installing Docker and Docker Compose
  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    apt-get update
    apt-get install -y docker-ce
    curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
  SHELL
end

该脚本将使用“shell”provisioner在Ubuntu Xenial 64位虚拟机中安装Docker和Docker Compose。请注意,该脚本特别针对Ubuntu的特定版本和体系结构。您可能需要修改此脚本以匹配自己的操作系统和硬件配置。