usermod:user';ubuntu';在docker内的节点映像中不存在
我想在nodejs docker映像中安装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
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运行
,这样权限就不会有问题了?