You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AZ run-command invoke执行异常:Docker部署站点失败求助

Docker部署站点失败(找不到Docker包/命令)排查方案
  • 检查kickstart.sh是否包含Docker前置安装步骤
    脚本如果直接调用docker命令但未先执行安装操作,必然会出现找不到命令的问题。需根据VM操作系统添加对应安装逻辑:

    • Ubuntu/Debian系统示例:
      sudo apt update && sudo apt install -y docker.io
      sudo systemctl start docker && sudo systemctl enable docker
      
    • CentOS/RHEL/Rocky Linux系统示例:
      sudo yum install -y docker
      sudo systemctl start docker && sudo systemctl enable docker
      
  • 验证脚本安装命令与VM操作系统匹配
    Azure VM可能采用不同发行版,包管理器(apt/yum/dnf)不通用。先通过以下命令确认系统版本:

    az vm run-command invoke --command-id RunShellScript --name $vmName --resource-group $resourceGroupName --scripts "cat /etc/os-release"
    

    根据输出调整脚本中的安装命令,避免用错包管理器导致安装失败。

  • 排查脚本执行权限问题
    az vm run-command invoke默认以普通用户身份执行脚本,安装Docker需要管理员权限。确保脚本中所有安装、启动命令前添加sudo,否则会因权限不足导致安装失败。

  • 确认脚本文件路径正确性
    执行命令时使用@./kickstart.sh,需保证当前终端工作目录与kickstart.sh所在目录一致。可先执行ls ./kickstart.sh确认文件存在,若不存在则调整路径为绝对路径(如@/home/user/kickstart.sh)。

  • 查看完整执行日志定位具体错误
    执行命令时添加--debug参数获取详细输出,或登录Azure门户进入目标VM的「运行命令」页面查看对应命令的执行日志:

    • 若日志显示E: Unable to locate package docker,需先添加Docker官方源再安装(以Ubuntu为例):
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
      

内容的提问来源于stack exchange,提问作者Cade Bennett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 13:02:11