gpt4 book ai didi

docker - Docker构建docker镜像:用户权限/主机问题

转载 作者:行者123 更新时间:2023-12-02 19:42:28 25 4
gpt4 key购买 nike

我刚刚启动了一个新的Ubuntu实例,并且已经安装了Docker
docker --version报告:Docker版本1.7.1,内部版本786b29d

然后,我运行了两个命令来设置CI / CD管道:

  • docker run -d -t -p 8153:8153 gocd/gocd-server
  • 对于代理,我将按以下方式启动它:
  • docker run -d --privileged=true -ti -e GO_SERVER=<my_server_ip_address> -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/bin/docker gocd/gocd-agent

    两个容器都已按预期启动并运行。 docker ps报告以下内容:
    25a7686b8653        gocd/gocd-server             "/sbin/my_init"        6 seconds ago       Up 5 seconds        0.0.0.0:8153->8153/tcp, 8154/tcp           
    ec1ede694844 gocd/gocd-agent "/sbin/my_init" 5 second s ago Up 5 seconds

    当我访问 gocd-agent时,使用以下命令:
    sudo docker exec -i -t ec1ede694844 bash
    我被带进代理了。进入内部后,我可以使用 docker images这样的命令,而不会出现任何问题。
    go-agent要求我们使用 go用户,因此使用与上述相同的终端/容器重击,我输入: su go
    这使我成为 go用户( go@ec1ede694844)进入容器。

    当我尝试使用 docker imagesdocker ps之类的命令时,出现以下错误消息:
    Get http:///var/run/docker.sock/v1.19/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

    唯一有效的命令是标准 docker命令,该命令提供了我可以使用的可能的docker命令的列表。但是,在使用 go用户时,这些命令都不起作用。

    有什么方法可以将权限从容器传递到用户帐户中?

    或者,是否可以通过任何方式重置 docker.sock,以便允许 go用户运行 docker images等命令?

    任何帮助,将不胜感激。

    谢谢

    最佳答案

    这个错误...

    Get http:///var/run/docker.sock/v1.19/images/json: dial unix /var/run/docker.sock: 
    permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

    表示 docker无法打开Unix套接字 /var/run/docker.sock。查看该套接字上的权限。他们可能只允许root访问:
    $ ls -l /var/run/docker.sock 
    srw-------. 1 root root 0 Sep 1 15:08 /var/run/docker.sock

    或者它们可能允许访问特定组:
    $ ls -l /var/run/docker.sock 
    srw-rw----. 1 root dockerroot 0 Sep 1 15:08 /var/run/docker.sock

    无论哪种情况,您容器内的 go用户都无法访问此套接字。理想情况下,您需要:
  • (a)使套接字组在主机上可写
  • (b)确保您容器中的go用户是具有与主机
  • 上的gid相匹配的gid的组的成员

    或者,只需以根用户身份运行容器中的所有内容,这可以避免此特定问题,但是如果您在容器中运行不受信任的代码,则可能会暴露安全问题。

    关于docker - Docker构建docker镜像:用户权限/主机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363179/

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