【问题标题】:Why set VISIBLE=NOW in /etc/profile?为什么在 /etc/profile 中设置 VISIBLE=NOW?
【发布时间】:2016-07-17 11:33:45
【问题描述】:

我正在阅读Dockerfile - Dockerizing an SSH Service,它包含以下代码:

 ENV NOTVISIBLE "in users profile"
 RUN echo "export VISIBLE=now" >> /etc/profile

只是好奇这样做的目的是什么?

TIA, 奥莱

P.S 关于避免在 Docker 容器中运行 SSH 服务器的方法的精彩文章:https://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/

【问题讨论】:

  • 您是否尝试过在容器的初始化脚本中搜索VISIBLE?特别是在 pam 设置和每个用户的 shell 设置中?
  • 这些变量只是为了解释 env-vars 的范围;请参阅同一页面上的“环境变量”部分docs.docker.com/engine/examples/running_ssh_service/…
  • 太搞笑了。 @thaJeztah 基本上是在说明这两行的重点是传达您的 ENV 变量在 ssh 进入时将在容器中不可用,因此您需要将它们复制到 /etc/profile 并且您可以使用指示的格式。没有影响环境的VISIBLE env var。

标签: bash ssh docker


【解决方案1】:

这是一个在运行 Dockerized SSHD 服务时如何传递环境变量的示例。 SSHD 会清理环境,因此必须将 Dockerfile 中包含的 ENV 变量推送到 /etc/profile 才能使它们可用。

【讨论】:

  • SSHD 清理环境 是什么意思?你能详细说明一下吗?
  • 重置 Docker 环境,以便如果您在其中初始化了变量,SSHD 将删除这些变量。已经有一段时间了,但我想这就是我的意思。可能会在我引用的文章中进一步解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多