docker run参数之间有什么区别:
-u, --user=""
Sets the username or UID used and optionally the groupname or GID for the specified command.
The followings examples are all valid:
--user [user | user:group | uid | uid:gid | user:gid | uid:group ]
Without this argument the command will be run as root in the container.
Run Code Online (Sandbox Code Playgroud)
和
--group-add=[]
Add additional groups to run as
Run Code Online (Sandbox Code Playgroud)
?
Yuv*_*uva 26
docker run --user=demo_user <image_name> <command>使用给定命令以demo_user运行容器

docker run --user=demo_user:group1 <image_name> <command>使用给定命令运行容器作为demo_user,其主要组设置为group1

docker run --user=demo_user:group1 --group-add group2 <image_name> <command>使用给定命令运行具有demo_user的容器,其主要组设置为group1,group2设置为用户的辅助组

注意:用于这些选项的用户和组必须已在我们创建容器的图像中创建.如果--group-add没有指定选项,--user并且图像没有声明任何用户(用户应该已经创建但未通过创建映像的Dockerfile中的USER指令声明),则root对容器中的用户进行组修改.
如果--group-add没有指定选项,--user并且图像确实已经声明了用户(通过Dockerfile中的USER指令从中创建了图像),则对容器中声明的用户进行组修改.
创建Docker镜像时,还可以在其中创建用户和组.这些选项允许您作为特定用户(-u)和其他组(--group-add)进行连接.
换句话说,当您在Docker容器中执行进程时,您将以提供的用户及其组(在系统中定义)的方式执行此操作.--group-add对于进程的生命周期,您可以通过使用标志告诉系统当前用户具有添加组.
查看以下文档:https://docs.docker.com/engine/reference/run/#/additional-groups
$ docker run --rm --group-add audio --group-add nogroup --group-add 777 busybox id
uid=0(root) gid=0(root) groups=10(wheel),29(audio),99(nogroup),777
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40229 次 |
| 最近记录: |