使用Ansible playbook在LXC容器创建文件时报lxc-create缺失错误如何解决
问题根因
你使用的Ansible lxc_container 模块是为传统LXC工具栈设计的,依赖lxc-create等传统LXC可执行文件。但你的环境实际使用的是LXD容器管理工具(你执行的lxc list是LXD的专属命令),目标主机Server-52未安装传统LXC工具包,因此触发找不到可执行文件的报错。
解决方案
推荐优先选择适配LXD的方案,避免混用两套容器工具栈引发管理冲突:
方案1:使用LXD专属Ansible模块操作
首先在目标主机Server-52上安装LXD的Python依赖:
apt install -y python3-pylxd
修改Playbook使用community.general.lxd_container模块执行命令,示例如下:
- hosts: Server-52 gather_facts: false tasks: - name: Run command in LXD container Jitsi community.general.lxd_container: name: Jitsi state: started wait_for_ipv4_addresses: false exec: command: touch FUFUFU.txt
方案2:直接调用原生LXD命令执行(无需额外依赖)
直接通过shell模块调用lxc exec执行容器内命令,操作更简便:
- hosts: Server-52 gather_facts: false tasks: - name: Run command in LXD container Jitsi shell: lxc exec Jitsi -- touch FUFUFU.txt
(不推荐)方案3:安装传统LXC工具栈适配现有模块
如果你坚持要使用当前的lxc_container模块,需要在目标主机Server-52上安装传统LXC工具包:
apt install -y lxc lxc-templates
内容的提问来源于stack exchange,提问作者Oleg
相关产品推荐
相关产品推荐

