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

Posted

技术标签:

【中文标题】如何在 Azure VM 的 ubuntu 上将 python3.8 升级到 python3.9 并使用 cloud-init 安装 docker?【英文标题】:How do I upgrade python3.8 to python3.9 and install docker using cloud-init on Azure VM's ubuntu? 【发布时间】:2022-01-14 22:06:13 【问题描述】:

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

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

    在下面创建一个 yaml 文件
## Install packages on first boot
package_upgrade: true
packages:
  - docker
  - nodejs
  - python3.9
    在创建 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

【问题讨论】:

【参考方案1】: 还是 Python3.8

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

我无法调用 docker

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

【讨论】:

我已经用docker.io成功安装了docker。 非常感谢!我能够安装 python3.9 并使用 runcmd 调用它。用 runcmd 和 packages 安装包有什么区别? gist.github.com/ahlag/293287b4ba1711657455e17e9a97b9e2 我还找到了一种从 APT 源安装 docker 的方法。安装软件包的最佳做法是什么? [参考]***.com/questions/24418815/…

以上是关于如何在 Azure VM 的 ubuntu 上将 python3.8 升级到 python3.9 并使用 cloud-init 安装 docker?的主要内容,如果未能解决你的问题,请参考以下文章

azure ubuntu 16.04 VM 无法连接到 azure 上的数据库

text Ubuntu Azure ARM VM模板

如何在 Databricks 上将 Azure Synapse Dataframe 转换为 JSON?

支持 caffe 并支持 GPU 的 Microsoft Azure VM

Neo4j:Ubuntu 在 Microsoft Azure 上托管端点保护

如何自动将文件从多个 Azure VM 复制到 Azure 存储并访问