当前位置: 首页 > 知识库问答 >
问题:

docker容器上的Persistent/etc/passwd

秦浩漫
2023-03-14

我已经创建了一个docker映像,允许用户使用SSH在上面连接。

出于安全原因,我希望用户可以更改他们的密码。我只使用docker命名的卷,所以我不能绑定 /etc/passwd,我不想挂载所有 /etc

有什么想法吗?提前感谢。

共有2个答案

充培
2023-03-14

在这个问题上,有人问是否可以使用docker compose将文件装载为卷(答案是肯定的),因此如果可以使用compose,我认为docker也可以这样做。我知道这与你的问题不同,因为它们使用主机目录/文件,但docker命名的卷(如你所见)用于使容器主机独立,这是通过创建docker处理的一些卷来完成的
因此,尝试将一个卷装入机箱,并将该卷装入passwd文件所在的位置。

姬选
2023-03-14

最后我找到了这个解决方案:

  • 创建命名卷
  • 挂载它(例如在/users中)
  • 在其上设置阴影文件
  • 在容器的开头,在/etc/shadow上为/users/shadow创建一个链接
 类似资料:
  • 我有一个容器,我想停止,但当我做一个它挂起,永远不会停止它。 我试过正常的和

  • 我正在创建一个docker映像,我想在其中挂载我的主目录。然而,我希望在实例化时运行其他一些文件。 问题是我不能复制这个文件到我的用户的工作目录,因为那是我将挂载我的(主机)主目录。我尝试过将其附加到或放入 /etc/profile.d但它从未运行过。 我的dockerfile看起来像这样: 我现在构建并运行这个容器,同时挂载我的主目录: 当我打开控制台时,只有(mounted).bashrc运行

  • 问题内容: 我想这样做,以便我启动的Docker容器使用与我运行的主机相同的设置。有没有办法做到这一点? 我知道docker run 有一个选项,但这并不是我想要的,因为主机的文件在不同的机器上可能不同,所以用硬编码确切的IP /主机对我来说不是很好。 问题答案: 使用在泊坞窗运行命令。这告诉Docker使容器使用主机的网络堆栈。您可以在此处了解更多信息。

  • 我有一个基本的docker compose设置,包括以下内容: docker网桥子网从192.168.50.0/24开始 4项服务:兔子、spring配置、票价、入住 每个服务都正确设置了主机名,并且能够在子网(192.168.50.0)中找到彼此。IP动态地归属于这个子网,它们都从各自容器中的8080端口开始 从主机上可以看到网桥网络,并且可以使用其ip访问容器的每个实例 如果不将8080以外的

  • 1、启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。 1.1 新建并启动 所需要的命令主要为 docker run。 例如,下面的命令输出一个 “Hello World”,之后终止容器。 $ sudo docker run ubuntu:14.0

  • 本文翻译自The Flask Mega-Tutorial Part XIX: Deployment on Docker Containers 这是Flask Mega-Tutorial系列的第十九部分,我将在其中部署Microblog到Docker容器平台。 在第十七章中,你了解了传统部署,使用这种部署方式,你必须关注服务器配置的每个细节。 然后在第十八章我带你到另一个极端——Heroku ,这是