gpt4 book ai didi

docker - 将 ansible delegate_to 与 docker : permission denied 一起使用

转载 作者:行者123 更新时间:2023-12-02 11:20:33 25 4
gpt4 key购买 nike

我想在我用 ansible 管理的机器的容器内执行命令。
delegate_to 可以做到这一点命令(见 https://stackoverflow.com/a/41626257/458274):

- name: Add container to inventory
add_host:
name: mycontainer
ansible_connection: docker
changed_when: false

- name: Do something in container
delegate_to: mycontainer
raw: echo "hello world"

但是,我使用的用户没有访问权限 /var/run/docker.sock .我可以通过将用户添加到 docker 来解决此问题。组,但我觉得这是一种不好的安全做法,因为使用此用户帐户运行的任何程序现在都可以在没有密码的情况下获得 root 权限。

使用 become也不起作用,因为它也会被委托(delegate)给容器。

如何使用 delegate_to ,但先切换到另一个用户?

最佳答案

如果要在容器中执行命令,则需要提供与 docker 守护进程的某种通信。

暂时忽略 ansible,您可以以 2 种模式与 docker 守护进程对话:

  • 通过 unix 套接字 /var/run/docker.sock
  • 通过 tcp 端口(默认为 2375 )。

  • 因此,如果不使用 Unix 套接字,您的替代方法是使用 TCP 连接。选择你的毒药;-)

    关于docker - 将 ansible delegate_to 与 docker : permission denied 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59186214/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com