社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

容器内的Docker套接字权限

RSHAP • 4 年前 • 549 次点击  

我试图从容器中的用户访问在主机上运行的Docker。我正试图通过将主机上的套接字映射到容器卷来完成此操作。 docker run -it -v /var/run/docker.sock:/var/run/docker.sock myimage bash

在我的主人身上 ls -l on/var/run/docker.sock显示所有者是我的普通主机用户(不是根用户),但是当我查看容器时,它是由根用户拥有的。因此,当我试图连接到容器内的Docker时,我得到了“拒绝许可”。这是一个示例图像

FROM ubuntu:latest
USER root

RUN apt-get update -y && apt-get upgrade -y \
    && apt-get install -y python python-dev python3.6 python-pip 
virtualenv libssl-dev libpq-dev git build-essential libfontconfig1 
libfontconfig1-dev
RUN pip install setuptools docker


RUN useradd -ms /bin/bash -d /usr/local/myuser myuser
RUN chown -R myuser: /usr/local/myuser
USER myuser

建立形象

docker build -t myimage .

启动bash shell

docker run-it-v/var/run/docker.sock:/var/run/docker.sock myimage bash

例如,尝试通过python连接

python -c "import docker; c = docker.from_env(); c.containers.list()

给出一个拒绝权限错误。

如何映射卷的正确权限(以及映射卷时为什么更改权限)?是否可以在dockerfile或run命令中执行此操作(例如,我的实际应用程序使用docker compose)。

我试过在我的dockerfile中创建一个docker组并将我的用户添加到该组中,但这似乎不起作用,我不知道为什么,但可能是因为我在Mac上,使用GUI安装程序安装了docker。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38288
 
549 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Dmitrii
Reply   •   1 楼
Dmitrii    5 年前

用户的简单更改uid,

RUN useradd -ms /bin/bash -d /usr/local/myuser -u ${UID} myuser

在哪里可以通过

id 

在终点站