Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
usermod:user';ubuntu';在docker内的节点映像中不存在_Docker - Fatal编程技术网

usermod:user';ubuntu';在docker内的节点映像中不存在

usermod:user';ubuntu';在docker内的节点映像中不存在,docker,Docker,我想在nodejs docker映像中安装docker: FROM node:latest RUN apt-get update && apt-get install -y curl git vim wget procps unzip groff RUN curl -sSL https://get.docker.com/ | sh && \ usermod -aG docker ubuntu && \ newgrp docker

我想在nodejs docker映像中安装docker:

FROM node:latest

RUN apt-get update && apt-get install -y curl git vim wget procps unzip groff

RUN curl -sSL https://get.docker.com/ | sh && \
    usermod -aG docker ubuntu && \
    newgrp docker
我得到的错误是:

usermod: user 'ubuntu' does not exist

为什么??ubuntu不是我的用户?如何修复它?

ubuntu
不是你的用户,而是你传递给
usermod
的参数。因为您是从容器中运行的,所以不需要安装
docker
(您已经在容器中了!)。只要放下最后一个
RUN
调用,您就应该可以

不运行
RUN..
-我运行
docker ps
并收到消息:
在尝试连接到的docker守护进程套接字时,权限被拒绝unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/auth:dial unix/var/run/docker.sock:连接:权限被拒绝
我在运行节点时使用
-v/var/run/docker.sock:/var/run/docker.sock
docker@JonSud看起来您正试图以未经授权的用户的身份运行docker,但这应该在操作系统级别上完成,而不是作为dockerfileI的一部分。我需要在nodejs容器中使用docker。为什么?因为我想在nodejs容器中构建一个映像并将其推送到aws ecr。为什么不能从主机上运行那个自动化脚本?相反,能够运行任何
docker
命令意味着能够几乎不费吹灰之力地在整个主机上建立根目录;为什么不让容器作为
用户root运行
,这样权限就不会有问题了?