【问题标题】:Dockerfile, groupadd with GUI parameterDockerfile, groupadd 与 GUI 参数
【发布时间】: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


【解决方案1】:

在 Dockerfile 中保存了您的 dockerfile 内容并触摸了一个名为 helpers 的文件。

然后构建镜像并进入镜像。屏幕截图显示了图像中的第二个构建、提交哈希等和id。您可以在屏幕截图中看到所有命令。

您也可以使用docker build -t pydebug1 . 构建。

【讨论】:

    猜你喜欢
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多