如何以root用户身份(最初)对其他非root用户容器执行某些操作?

西信

我想将主机的用户/组与docker机器同步,以使(开发人员)可以编辑容器内部或外部的文件。这里有一些想法:使用Docker Volumes处理权限,从而创建一个新用户。

我想尝试类似的方法,但我不想使用创建新用户的方式来修改现有用户usermod

usermod -d /${tmp} docker # avoid `usermod` from modifying permissions automatically.
usermod -u "${HOST_USER_ID}" docker
groupmod -g "${HOST_GROUP_ID}" docker
usermod -d ${HOME} docker

这个想法似乎可行,但是当容器以docker用户(我想要的)运行时,usermod抱怨“此用户正在运行一个进程,因此无法更改用户ID”。

如果使用add sudo,它将更改用户ID,但在下一次中断时sudo将发生以下异常:sudo: unknown uid 1000: who are you?作为避免上述问题的结果。

sudo usermod -d /${tmp} docker
sudo usermod -u "${HOST_USER_ID}" docker
sudo groupmod -g "${HOST_GROUP_ID}" docker # `sudo: unknown uid 1000: who are you?`
sudo usermod -d ${HOME} docker # `sudo: unknown uid 1000: who are you?`

root在启动容器时是否可以像正常用户一样运行启动脚本?似乎DockerfileCMD不会执行两个命令。我也不能将多个命令组合为一个脚本,而我需要以两个用户身份运行-或者可以吗?我知道我可以创建不同的图像,但是想知道是否还有更清洁的选择。

幼虫

您可以以以下形式启动容器root,允许ENTRYPOINT脚本执行所需的任何更改,然后在执行容器时切换到非特权用户CMD例如,使用如下ENTRYPOINT脚本:

#!/bin/sh

usermod -d /${tmp} docker
usermod -u "${HOST_USER_ID}" docker
groupmod -g "${HOST_GROUP_ID}" docker

exec runuser -u docker -- "$@"

如果没有该runuser命令,则可以使用获得类似的行为su

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以非root用户身份运行root别名?

来自分类Dev

如何以root用户身份执行脚本,以特定用户身份执行脚本中的某些命令,以root用户身份执行一个命令

来自分类Dev

如何以root用户身份访问其他用户的AWS Lambda测试事件?

来自分类Dev

以非root用户身份执行

来自分类Dev

如何以非 root 用户身份从头开始构建容器映像?

来自分类Dev

如何以非root用户身份从自定义webmin模块执行命令

来自分类Dev

如何以非root用户身份运行docker image?

来自分类Dev

如何以非root用户身份启动运行级别3?

来自分类Dev

如何以非root用户身份启动“屏幕”会话

来自分类Dev

如何设置以root用户身份创建的文件和目录可以以其他用户身份读取和执行?

来自分类Dev

如何以root用户身份进入目录?

来自分类Dev

如何允许非sudoers用户运行执行root操作的脚本

来自分类Dev

root是否可以以非root用户身份执行命令?

来自分类Dev

非root用户登录时以root身份执行脚本

来自分类Dev

如何从非root用户运行docker容器?

来自分类常见问题

以非root用户身份连接到docker容器

来自分类Dev

以非 root 用户身份运行 Hyperledger-Fabric 容器

来自分类Dev

以非 root 用户身份运行 docker 容器进程

来自分类Dev

如何以非root用户身份100%创建KVM guest虚拟机?

来自分类Dev

如何以非root用户身份在Mac OS X上升级File :: Path

来自分类Dev

如何以其他用户身份执行rbenv?

来自分类Dev

如何以root用户身份修改applications.menu文件?

来自分类Dev

如何以root用户身份运行完整的GUI?

来自分类Dev

如何以root用户身份修改applications.menu文件?

来自分类Dev

如何以root用户身份运行完整的GUI?

来自分类Dev

如何以root用户身份运行Visual Studio Code

来自分类Dev

如何在docker中以非root用户身份写入卷容器?

来自分类Dev

从非root用户执行root所需的脚本

来自分类Dev

从非root用户执行root所需的脚本

Related 相关文章

  1. 1

    如何以非root用户身份运行root别名?

  2. 2

    如何以root用户身份执行脚本,以特定用户身份执行脚本中的某些命令,以root用户身份执行一个命令

  3. 3

    如何以root用户身份访问其他用户的AWS Lambda测试事件?

  4. 4

    以非root用户身份执行

  5. 5

    如何以非 root 用户身份从头开始构建容器映像?

  6. 6

    如何以非root用户身份从自定义webmin模块执行命令

  7. 7

    如何以非root用户身份运行docker image?

  8. 8

    如何以非root用户身份启动运行级别3?

  9. 9

    如何以非root用户身份启动“屏幕”会话

  10. 10

    如何设置以root用户身份创建的文件和目录可以以其他用户身份读取和执行?

  11. 11

    如何以root用户身份进入目录?

  12. 12

    如何允许非sudoers用户运行执行root操作的脚本

  13. 13

    root是否可以以非root用户身份执行命令?

  14. 14

    非root用户登录时以root身份执行脚本

  15. 15

    如何从非root用户运行docker容器?

  16. 16

    以非root用户身份连接到docker容器

  17. 17

    以非 root 用户身份运行 Hyperledger-Fabric 容器

  18. 18

    以非 root 用户身份运行 docker 容器进程

  19. 19

    如何以非root用户身份100%创建KVM guest虚拟机?

  20. 20

    如何以非root用户身份在Mac OS X上升级File :: Path

  21. 21

    如何以其他用户身份执行rbenv?

  22. 22

    如何以root用户身份修改applications.menu文件?

  23. 23

    如何以root用户身份运行完整的GUI?

  24. 24

    如何以root用户身份修改applications.menu文件?

  25. 25

    如何以root用户身份运行完整的GUI?

  26. 26

    如何以root用户身份运行Visual Studio Code

  27. 27

    如何在docker中以非root用户身份写入卷容器?

  28. 28

    从非root用户执行root所需的脚本

  29. 29

    从非root用户执行root所需的脚本

热门标签

归档