如何通过Vagrantfile解决Ubuntu18.04虚拟机Docker安装失败问题?
在Vagrant的Ubuntu 18.04虚拟机中成功安装Docker的配置方案
嘿,我帮不少开发者解决过在Vagrant的Ubuntu 18.04虚拟机里装Docker失败的问题——你用的官方一键脚本 curl -sSL https://get.docker.com/ | sh 在旧版本Ubuntu上容易栽跟头,多半是依赖缺失或者源配置的问题。直接修改Vagrantfile的provision部分就能搞定,给你两种靠谱的方案:
方案一:分步手动安装(最稳定推荐)
这个方法避开一键脚本的兼容性问题,一步步配置Docker的官方源和依赖,成功率极高。把你的Vagrantfile改成这样:
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64" # 可选:配置私有网络,方便主机访问虚拟机 config.vm.network "private_network", ip: "192.168.33.10" # 配置Docker安装的provision脚本 config.vm.provision "shell", inline: <<-SHELL # 更新系统包到最新版本 apt-get update && apt-get upgrade -y # 安装Docker依赖的必备工具 apt-get install -y ca-certificates curl gnupg lsb-release # 创建密钥存储目录并添加Docker官方GPG密钥 mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加Docker官方APT源到系统配置 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null # 更新源并安装完整的Docker套件 apt-get update apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 可选:将vagrant用户加入docker组,避免每次执行docker命令都加sudo usermod -aG docker vagrant SHELL end
关键说明:
- Ubuntu 18.04(bionic)的默认源没有最新版Docker,手动添加官方源能保证安装的是兼容稳定的版本
- 提前安装
ca-certificates等依赖,避免一键脚本因缺失工具而失败 - 加入
docker组是为了后续操作更便捷,不用反复输入sudo
方案二:修复一键脚本的依赖问题
如果你坚持想用官方一键脚本,只需先补全依赖再执行脚本,同时避免交互弹窗中断:
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64" config.vm.provision "shell", inline: <<-SHELL # 先更新系统并安装必备依赖 apt-get update && apt-get install -y ca-certificates curl gnupg # 执行官方脚本时添加强制配置参数,避免交互弹窗中断Vagrant流程 curl -sSL https://get.docker.com/ | sh -s -- --force-confold # 可选:将vagrant用户加入docker组 usermod -aG docker vagrant SHELL end
关键说明:
--force-confold参数会跳过配置文件替换的交互提示,防止Vagrant的provision命令因等待输入而退出
最后操作步骤
修改完Vagrantfile后:
- 如果虚拟机已经创建过,执行
vagrant provision重新应用配置 - 如果之前的环境有残留问题,直接执行
vagrant destroy && vagrant up重建干净的虚拟机
内容的提问来源于stack exchange,提问作者S34N
相关产品推荐
相关产品推荐

