【发布时间】:2018-11-25 22:11:15
【问题描述】:
我正在尝试使用 dockerfile 中声明的 id 添加组,但是我总是收到错误:
groups: cannot find name for group ID 1001
我的码头文件:
FROM python:3.7.1
ARG UID=1001
RUN apt-get update && apt-get install -y openssh-server sudo
RUN mkdir /var/run/sshd
RUN echo 'root:pycharm' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
RUN groupadd -r charm -g 1001
RUN useradd -ms /bin/bash charm -g charm -u 1001
RUN echo "export VISIBLE=now" >> /etc/profile
ADD helpers /opt/.pycharm_helpers
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
当我尝试进入容器时收到错误消息:
docker exec -ti -u 1001 pydebug1 bash
/etc/group 文件中不存在组。当我在容器内运行命令时可以工作,但我想将它们放在 Dockerfile 中。
【问题讨论】:
-
你试过运行类似
docker run -it -u 1001 <container-name> /bin/bash -c 'grep 1001 /etc/group'的东西吗?您的问题似乎与您提供的信息无关 -
我在mac中试过了,通过触摸本地文件'helpers'来构建图像。成功构建图像,我可以毫无问题地进入图像。请重试。
-
@agg3l 当我执行您的命令时,没有具有该 ID 的组
-
@RobertRanjan 你用
docker exec -ti -u 1001 pydebug1 bash命令成功进入容器了吗? -
是的,除了图像名称。我使用了我构建的图像的提交哈希。你用什么命令构建的?您在构建它时是否看到任何错误消息?
标签: docker ubuntu dockerfile