docker registry auth 的加密规则

Linux安装docker之后,访问registry需要先使用命令 docker login 进行登录,登录成功之后,会在文件 ~/.docker/config.json 中生成 auth 串,在后续对docker进行pull和push的时候,这个auth就是凭证。
文件 ~/.docker/config.json 的内容如下示例:

{
	"auths": {
		"registry.cn-shanghai.aliyuncs.com": {
			"auth": "ZG9ja2Vyc2hhbjpkb2NrZXJwYXNz"
		}
	}
}

这其中的auth,其实就是账号密码的base64结果。以账号 dockershan,密码 dockerpass 为例,执行命令:

root@Nuggets:/# echo -n "dockershan:dockerpass" | base64
ZG9ja2Vyc2hhbjpkb2NrZXJwYXNz

得到的结果就是上面的 auth 值。

(END)

以下是创建Docker Registry并设置Registry地址和账户密码的详细步骤: 1. 安装Docker 如果您的系统上还没有安装Docker,请先安装Docker。可以通过访问Docker官网来获取指南。 2. 创建Docker Registry容器 在创建Docker Registry之前,需要创建一个本地目录来存储Registry的数据。可以通过以下命令创建一个名为myregistry的目录: ``` mkdir /opt/myregistry ``` 然后,可以使用以下命令创建一个名为myregistryDocker Registry容器: ``` docker run -d -p 5000:5000 --restart=always --name myregistry -v /opt/myregistry:/var/lib/registry registry:2 ``` 此命令将创建一个Docker Registry容器,并将其运行在端口5000上。此外,该容器将在启动时自动启动,并将数据存储在本地目录/opt/myregistry中。 3. 配置Registry地址 要使用创建的Docker Registry,需要将其地址添加到Docker守护程序配置中。可以通过以下命令编辑Docker配置文件: ``` sudo vi /etc/docker/daemon.json ``` 如果配置文件不存在,则可以创建它: ``` sudo touch /etc/docker/daemon.json ``` 在文件中添加以下内容: ``` { "insecure-registries": ["your.registry.example.com:5000"] } ``` 注意:将your.registry.example.com替换为您的主机名或IP地址。 保存并关闭文件。然后,重新启动Docker守护程序以应用更改: ``` sudo systemctl restart docker ``` 4. 设置Registry账户密码 要设置Docker Registry的账户密码,可以使用htpasswd工具。可以使用以下命令安装htpasswd: ``` sudo apt-get update sudo apt-get install apache2-utils ``` 然后,可以使用以下命令为myregistry创建一个名为myuser的用户: ``` sudo htpasswd -Bc /opt/myregistry/auth.htpasswd myuser ``` 此命令将提示您输入密码。输入并确认密码后,将创建一个名为auth.htpasswd的文件,并将用户名和加密的密码添加到其中。 5. 启用Registry认证 要启用Docker Registry认证,需要在Registry容器中设置环境变量。可以使用以下命令为myregistry容器设置环境变量: ``` docker run -d -p 5000:5000 --restart=always --name myregistry -v /opt/myregistry:/var/lib/registry -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/var/lib/registry/auth.htpasswd registry:2 ``` 此命令将启动myregistry容器,并在其中设置了环境变量。这些变量将启用基于htpasswd的认证,并指定了auth.htpasswd文件的路径和Realm名称。您可以将这些值更改为适合您的环境的值。 6. 测试Docker Registry 现在,您已经创建了Docker Registry并设置了Registry地址和账户密码。要测试Registry是否正常工作,请执行以下操作: - 从另一台计算机上的Docker客户端上使用以下命令拉取一个镜像并将其推送到Registry中: ``` docker pull ubuntu docker tag ubuntu your.registry.example.com:5000/ubuntu docker push your.registry.example.com:5000/ubuntu ``` 注意:将your.registry.example.com替换为您的Registry地址。 - 从Registry中拉取镜像: ``` docker pull your.registry.example.com:5000/ubuntu ``` 如果一切正常,将从Registry中拉取镜像。 至此,您已经成功创建了Docker Registry并设置了Registry地址和账户密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

catoop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值