docker run -d -p 5000:5000 --restart=always --name registry \ -v /etc/docker/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ registry:2
时间: 2024-01-21 07:16:05 浏览: 32
这是一个 Docker 命令,用于启动一个 Docker 镜像仓库(Registry)。具体来说,这个命令会:
1. 使用 `registry:2` 镜像创建一个新的 Docker 容器,容器名为 `registry`。
2. 将容器内部的 `5000` 端口映射到本地的 `5000` 端口。
3. 使用 `-v` 参数将本地的 `/etc/docker/auth` 目录挂载到容器内部的 `/auth` 目录,实现数据持久化。
4. 使用 `-e` 参数设置容器内部的环境变量。`REGISTRY_AUTH` 设置为 `htpasswd`,表示使用 htpasswd 验证用户身份。`REGISTRY_AUTH_HTPASSWD_REALM` 设置为 `Registry Realm`,表示认证领域的名称。`REGISTRY_AUTH_HTPASSWD_PATH` 设置为 `/auth/htpasswd`,表示存储用户密码的文件路径在 `/auth` 目录下的 `htpasswd` 文件。
5. 使用 `--restart=always` 参数表示容器停止后会自动重启。
这样就启动了一个 Docker 镜像仓库,并使用 htpasswd 进行用户身份验证。用户密码存储在 `/etc/docker/auth/htpasswd` 文件中。可以使用 `htpasswd` 命令来管理用户密码,例如:
```
htpasswd -c -B /etc/docker/auth/htpasswd user1
```
这个命令会创建一个新的用户 `user1` 并要求输入密码。如果已经存在 `/etc/docker/auth/htpasswd` 文件,可以省略 `-c` 参数来添加新用户。