默认情况下直接使用docker官方的registry镜像启动的容器是没有验证机制的,不需要docker login就可以上传和下载镜像。可以通过下面的步骤为docker-registry设置验证机制

下载registry镜像

docker pull registry

生成用户名密码信息

apt -y install apache2-utils	#安装htpasswd工具
mkdir /etc/docker/auth
htpasswd -Bbn user1 Passw0rd > /etc/docker/auth/auth-info

启动registry

docker run -d -p 1003: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/auth-info" registry

测试

首先设置一下允许访问的非安全镜像仓库,编辑/etc/docker/daemon.json,内容如下

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "insecure-registries": ["192.168.0.4:1003"]	#ip根据实际情况替换
}

测试在不登录的情况下上传镜像
在这里插入图片描述
测试登录之后上传镜像
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐