目录
shell脚本内容
[root@test1 docker]# cat registry.sh
#!/bin/bash
read -p "请输入用户:" user
read -p "请输入密码:" pass
path=`pwd`
passdir="$path/.auth"
registry_port="5000"
datadir="/app/docker-regsitry"
if [ ! -d "$passdir" ]; then
mkdir -p "$passdir"
if [ $? -eq 0 ]; then
echo "成功创建目录: $passdir"
else
echo "创建目录 $passdir 时出现错误。"
fi
else
echo "目录 $passdir 已经存在。"
fi
htpasswd -Bbn $user $pass > $passdir/htpasswd
docker run -d -p $registry_port:5000 --restart always \
--name registry \
-v $passdir:/auth \
-v $datadir:/var/lib/registry \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
xx/registry:2.8
运行效果
[root@test1 docker]# bash registry.sh
请输入用户:sulibao
请输入密码:sulibao
目录 /root/docker/.auth 已经存在。
1f5bf373987be80755118306a1509a4522eb79661b104f7e28184cb40637c685
[root@test1 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1f5bf373987b registry.cn-chengdu.aliyuncs.com/su03/registry:2.8 "/entrypoint.sh /etc…" 3 seconds ago Up 2 seconds 0.0.0.0:5000->5000/tcp registry
问题与解决
[root@test1 docker]# docker push 192.168.2.190:5000/minio/minio:RELEASE.2024-05-28T17-19-04Z
The push refers to repository [192.168.2.190:5000/minio/minio]
Get https://192.168.2.190:5000/v2/: http: server gave HTTP response to HTTPS client
#以上问题需要进行docker仓库的http授信,"insecure-registries":
{
"registry-mirrors": [
"http://hub-mirror.c.163.com"
],
"data-root": "/app/docker_data",
"insecure-registries": ["192.168.2.190:5000"],
"max-concurrent-downloads": 10,
"live-restore": true,
"log-level": "warn",
"log-opts": {
"max-size": "1000m",
"max-file": "1"
}
}
涉及镜像包registry:2.8(x86版本)
通过网盘分享的文件:registry-2-8.tgz
链接: https://pan.baidu.com/s/1qmwabZjCVtwYbPnQmbPFaQ?pwd=6y1k 提取码: 6y1k