Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法阻止具有dockerfile/docker compose的用户在容器中使用root?_Docker_Dockerfile_Root_Superuser - Fatal编程技术网

有没有办法阻止具有dockerfile/docker compose的用户在容器中使用root?

有没有办法阻止具有dockerfile/docker compose的用户在容器中使用root?,docker,dockerfile,root,superuser,Docker,Dockerfile,Root,Superuser,有没有办法阻止dockerfile和docker compose用户在docker容器中使用root?当然,问题是安全和最低特权,我想看看是否有人解决了这个问题。感谢您的反馈。Docker run在这里会很有帮助。运行容器时,可以指定容器进程将由属于xyz组的xyz用户运行(可选) --用户,-u用户名或UID(格式:name | UID[:group | gid]) docker容器运行--rm\ --用户:\\以给定用户身份运行 我的回购/我的形象:最新 Docker run在这里很有帮助。

有没有办法阻止dockerfile和docker compose用户在docker容器中使用root?当然,问题是安全和最低特权,我想看看是否有人解决了这个问题。感谢您的反馈。

Docker run在这里会很有帮助。运行容器时,可以指定容器进程将由属于xyz组的xyz用户运行(可选)

--用户,-u用户名或UID(格式:name | UID[:group | gid])

docker容器运行--rm\
--用户:\\以给定用户身份运行
我的回购/我的形象:最新

Docker run在这里很有帮助。运行容器时,可以指定容器进程将由属于xyz组的xyz用户运行(可选)

--用户,-u用户名或UID(格式:name | UID[:group | gid])

docker容器运行--rm\
--用户:\\以给定用户身份运行
我的回购/我的形象:最新

正如您可以看到的那样,您可以使用
--user
/
-u
$docker run命令中指定用户(可选使用组):

$ docker --version
Docker version 19.03.4, build 9013bf583a

$ docker run --help

Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Run a command in a new container

Options:
...
...
...

  -u, --user string                    Username or UID (format: <name|uid>[:<group|gid>])
      --userns string                  User namespace to use
      --uts string                     UTS namespace to use
  -v, --volume list                    Bind mount a volume
      --volume-driver string           Optional volume driver for the container
      --volumes-from list              Mount volumes from the specified container(s)
  -w, --workdir string                 Working directory inside the container

正如您可以看到的,您可以使用
--user
/
-u
$docker run命令中指定一个用户(可选使用组):

$ docker --version
Docker version 19.03.4, build 9013bf583a

$ docker run --help

Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Run a command in a new container

Options:
...
...
...

  -u, --user string                    Username or UID (format: <name|uid>[:<group|gid>])
      --userns string                  User namespace to use
      --uts string                     UTS namespace to use
  -v, --volume list                    Bind mount a volume
      --volume-driver string           Optional volume driver for the container
      --volumes-from list              Mount volumes from the specified container(s)
  -w, --workdir string                 Working directory inside the container

TL;DR:不,任何能够
docker运行
任何东西的人都可以在您的容器中或在host.TL上获得根shell;DR:不,任何能够
docker运行
任何东西的人都可以在您的容器中或主机上获得根shell(也可以
-u0
显式请求根,即使映像指定了不同的内容。)是的,这是正确的。(同时
-u0
显式请求root,即使映像指定了不同的内容。)是的,没错。
$ docker run --rm -it -u 65555 busybox id
uid=65555 gid=0(root)

$ docker run --rm -it -u 65555:65555 busybox id
uid=65555 gid=65555