小编Phi*_*hil的帖子

Docker 非 root 用户使用 Python 镜像的最佳实践?

我最近一直在构建一些 python Docker 镜像。最佳实践显然是不要以 root 用户身份运行容器并删除非特权用户的 sudo 权限。

但我一直想知道解决这个问题的最佳方法是什么。

这是一个 Dockerfile 示例

FROM python:3.10

## get UID/GID of host user for remapping to access bindmounts on host
ARG UID
ARG GID

## add a user with same GID and UID as the host user that owns the workspace files on the host (bind mount)
RUN adduser --uid ${UID} --gid ${GID} --no-create-home flaskuser
RUN usermod -aG sudo flaskuser

## install packages as root?
RUN apt update \
    && apt upgrade -y …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile

16
推荐指数
1
解决办法
2万
查看次数

排除linux find中的隐藏文件和文件夹

我试图find在 linux 中执行时排除隐藏的文件和文件夹。

我必须排除以点 (.hidden) 开头的文件或文件夹,但也必须排除以 @ 开头的文件夹(如 @eaDir)。

到目前为止,我有以下命令似乎有效,但也许有更优雅的方法?

find /path/to/start/search/ -not -path '*@eaDir*' -not -path "*/\.*" -type f -mtime -2 
Run Code Online (Sandbox Code Playgroud)

我确实看到了使用正则表达式的示例,如下所示:

find . \( ! -regex '.*/\..*' \) -type f
Run Code Online (Sandbox Code Playgroud)

但不确定如何使用@eaDir-regex选项排除目录?

我相信也可能存在以两个点开头的隐藏文件?就像“..隐藏”?我的命令是否已经涵盖了这一点,或者我是否只是添加第三个选项(例如-not -path "*/\..*"也排除这些选项)?

然后我看到了一些使用示例-prune,以便 find 不会下降到隐藏目录中,但是我不确定如何在我的示例中使用这个正确性。我对此很感兴趣,以加快速度。

谢谢!

linux shell find

7
推荐指数
2
解决办法
8228
查看次数

标签 统计

docker ×1

dockerfile ×1

find ×1

linux ×1

shell ×1