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
相关产品推荐
相关产品推荐

