容器使用非root用户是一种安全共识,而我们常用的nginx官方提供的容器镜像--docker.io/library/nginx:latest却是使用到root权限。今无意发现有个nginx-unprivileged容器镜像,使用的是非root用户。

测试

  • 镜像拉取
docker pull nginxinc/nginx-unprivileged:1.21.4
  • 创建容器
docker run -it --rm --name nginx docker.io/nginxinc/nginx-unprivileged:1.21.4 bash
  • 查看当前用户UID、GID
$ id
uid=101(nginx) gid=101(nginx) groups=101(nginx)

嗯!后续的前端基础镜像就用它了。

小结

两个容器的不同点:

  • 监听端口:8080(普通用户不能监听1024以上端口)
  • 临时文件位于/tmp目录

参考引用