在 aws ec2 中,我会将脚本粘贴到用户数据文本框中, 这里我尝试了自定义数据来设置安装docker的脚本,但它不起作用, 我也尝试过这样编码:
certutil -encode installDockerBash.txt encoded.txt
在将其粘贴到文本框中之前,但是当我连接到它时,docker 仍然不存在,所以我认为脚本没有执行。
考虑到您提到的文本框,我很好奇您使用什么方法来部署此虚拟机。
使用 Azure CLI 时,自定义数据可以指定本地文件或用引号引起来的内联脚本。传递内联脚本时,应使用
\n
传递换行符。
在这两种情况下,您还必须传递
--extensions customScript
参数。
az vm create \
--resource-group <resource_group_name> \
--name <vm_name> \
--image UbuntuLTS \
--admin-username <username> \
--admin-password <password> \
--custom-data myscript.sh \
--extensions customScript \
--no-wait
az vm create \
--resource-group <resource_group_name> \
--name <vm_name> \
--image UbuntuLTS \
--admin-username <username> \
--admin-password <password> \
--custom-data "#!/bin/bash\nsudo apt-get update\nsudo apt-get install -y docker.io" \
--extensions customScript \
--no-wait
要对脚本进行故障排除,请尝试将每个命令的输出重定向到文件:
sudo apt-get install -y docker.io >> /tmp/customScript_stdout.txt
etc...
添加一条评论,说明您正在部署的内容(如果不是 Azure CLI),我会将其添加到我的答案中。