docker - 使用主机用户运行 docker - 密码错误?

标签 docker

经过一些研究,我能够使用我的主机用户运行 docker:

docker run -it \
  -v /etc/passwd:/etc/passwd \
  -v /etc/group:/etc/group \
  -v /etc/sudoers:/etc/sudoers \
  -v $HOME:$HOME \
  --user=$(id -u):$(id -g) \
  ...

我现在的问题是我的密码与主机有所不同。 (即当我执行 su - my-user 时,我收到错误密码错误)。

这是有问题的,因为现在用户无法运行 sudo,除非他是无密码 sudoer。

知道如何解决这个问题吗?

最佳答案

/etc/shadow 保存有关用户密码的信息,因此您也需要挂载它。例如:

sudo docker run --rm -ti \
  -v /etc/passwd:/etc/passwd \
  -v /etc/group:/etc/group \
  -v /etc/sudoers:/etc/sudoers \
  -v /etc/shadow:/etc/shadow \
  -v $HOME:$HOME \
  --user=$(id -u):$(id -g) \
  ...

关于docker - 使用主机用户运行 docker - 密码错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54423606/

相关文章:

docker - 如何在一个 CircleCI 配置中进行两个构建?

google-app-engine - 无法提取 google/appengine-go docker 镜像

postgresql - Docker - 同一主机中的 Tomcat 和 PostgreSQL 容器 - 没有到主机的路由

docker - 通过docker、kubernetes和google云平台部署应用的步骤

django - nltk 下载在 docker 内无法用于 django 服务

docker - Ingress-nginx日志-出现很多奇怪的条目

docker - 如何查看docker状态而不是与shell交互?

docker - XDebug:Windows + Docker + PHPStorm

mysql - 如何从主机连接到在 Docker 上运行的 MySQL

docker - sh:grep:找不到命令