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

Ansible调用lxc exec解压LXD容器内tar包失败的问题求助

Ansible调用lxc exec解压LXD容器内tar包失败的问题求助

大家好,我最近在尝试用Ansible把静态网站部署到LXD容器时遇到了个棘手的问题,想请各位大佬帮忙看看。

我不想用lxc file push逐个传输网站文件,所以打算先把文件打包成public.tar.gz,推送到容器后再解压。目前的情况是:

  • 手动登录到容器里,直接执行tar -xvf /home/ubuntu/public.tar.gz完全能正常解压出/home/ubuntu/public目录
  • 用Ansible推送压缩包的任务也成功了,压缩包确实已经出现在容器的对应路径下

但下面这两个Ansible任务里的解压步骤却一直失败,始终生成不了目标的/home/ubuntu/public目录:

- name: Push {{ app_dir }}/public.tar.gz to container
  ansible.builtin.shell:
    cmd: lxc file push {{app_dir}}/public.tar.gz {{ lxc_name }}{{ deploy_dir }}/public.tar.gz
- name: Extract /home/ubuntu/public.tar.gz in container
  ansible.builtin.shell:
    cmd: lxc exec {{ lxc_name }} -- sh -c "tar -xvf /home/{{ lxc_user }}/public.tar.gz"

我已经确认变量lxc_user的值是ubuntu,压缩包路径也没错,但就是通过Ansible调用lxc exec执行解压命令不生效,有没有人能帮我排查下问题出在哪里呀?

备注:内容来源于stack exchange,提问作者Terry G Lorber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 11:08:07