Docker 中的“-Bbn”是什么意思?

what does "-Bbn" means in Docker?

我按照这篇文章 Docker Registry 设置了限制访问 docker 注册表。 我不明白以下片段。

$ docker run \
  --entrypoint htpasswd \
  registry:2 -Bbn testuser testpassword > auth/htpasswd

我查看了docker官方docker run文档,但没有找到-Bbn参考。

问题

-Bbn 是什么意思?

在哪里可以找到 -Bbn 的文档?

-Bbnhtpasswd命令(https://httpd.apache.org/docs/2.4/programs/htpasswd.html)的参数,在参数

中指定
--entrypoint htpasswd

docker run 命令本质上是运行下面在registry:2 Docker 容器

中的命令
htpasswd -Bbn testuser testpassword

然后将输出重定向到本地目录auth/htpasswd中的文件

更新:到运行容器中的命令htpasswd -Bbn testuser testpassword > auth/htpasswd(带重定向)。您可以 运行 它作为 /bin/sh 命令而不是包含重定向

docker run \
  registry:2 /bin/sh -c "htpasswd -Bbn testuser testpassword > auth/htpasswd" 

如果在目录中找不到 auth,您可以在 运行 执行 htpasswd 命令之前创建它

docker run \
  registry:2 /bin/sh -c "mkdir -p auth && htpasswd -Bbn testuser testpassword > auth/htpasswd" 

所有 docker args 都在图像名称之前;这些参数用于 htpasswd,它是 .. 是的,你猜对了,“入口点”。

htpasswd args 表示使用 bcrypt,运行 批量,使用标准输出。