如何在 Azure VM 的 ubuntu 上使用 cloud-init 将 python3.8 升级到 python3.9 并安装 docker?

How do I upgrade python3.8 to python3.9 and install docker using cloud-init on Azure VM's ubuntu?

我已按照 Azure 官方文档中列出的教程进行操作。 Automate VM Deployment

这是我在 Azure 的官方教程中遵循的步骤。

  1. 正在创建下面的 yaml 文件
## Install packages on first boot
package_upgrade: true
packages:
  - docker
  - nodejs
  - python3.9
  1. 创建 Ubuntu 实例时,将 cloud-config 的内容粘贴到 cloud init 中。

当我尝试检查 Python 版本时,它仍然是 Python3.8,而且我无法调用 docker。当我检查/var/log/cloud-init.log时,docker已成功安装。

less /var/log/cloud-init.log

的日志
2021-12-10 06:03:55,535 - subp.py[DEBUG]: Running command ['eatmydata', 'apt-get', '--option=Dpkg::Options::=--force-confold', '--option=Dpkg::options::=--force-unsafe-
io', '--assume-yes', '--quiet', 'install', 'docker'] with allowed return codes [0] (shell=False, capture=False)
2021-12-10 06:03:57,901 - util.py[DEBUG]: apt-install [eatmydata apt-get --option=Dpkg::Options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-ye
s --quiet install docker] took 2.365 seconds
  • 还是Python3.8

您是如何调用 python 的?安装 python3.9 不会替换系统库或 python。因此 python3 仍将指向 python3.8,但您应该能够使用 python3.9.

调用 python3.9
  • 我无法调用 docker

我认为您打算安装 docker.io,而不是 dockerdocker在repos中是一个系统托盘对接应用。