Kubernetes/Docker/Dockerfile/Cache-Registry/entrypoint.sh
offends 7a2f41e7d6
All checks were successful
continuous-integration/drone Build is passing
synchronization
2024-08-07 18:54:39 +08:00

37 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
#############################################################################################
# 用途: 定制缓存 Registry 镜像
# 作者: 丁辉
# 编写时间: 2024-06-29
#############################################################################################
set -e
# 配置 Headers
sed -i "/headers:/a\ Access-Control-Allow-Origin: ['*']" /etc/docker/registry/config.yml
sed -i "/headers:/a\ Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']" /etc/docker/registry/config.yml
sed -i "/headers:/a\ Access-Control-Expose-Headers: ['Docker-Content-Digest']" /etc/docker/registry/config.yml
# 检查环境变量PROXY_REMOTE_URL是否非空, 检查配置文件中变量出现的次数是否为0
if [ -n "$PROXY_REMOTE_URL" ] && [ $(grep -c "$PROXY_REMOTE_URL" "/etc/docker/registry/config.yml") -eq 0 ]; then
echo "proxy:" >> /etc/docker/registry/config.yml
echo " remoteurl: $PROXY_REMOTE_URL" >> /etc/docker/registry/config.yml
# 可以提供用户名和密码保持私密
# echo " username: $PROXY_USERNAME" >> /etc/docker/registry/config.yml
# echo " password: $PROXY_PASSWORD" >> /etc/docker/registry/config.yml
echo "----- Enabled Proxy To Remote -----"
fi
# 判断是否开启 Registry 镜像镜像清理
if [ "$DELETE_ENABLED" = "true" ] && [ $(grep -c "delete:" /etc/docker/registry/config.yml) -eq 0 ]; then
sed -i '/rootdirectory:/a\ delete:' /etc/docker/registry/config.yml
sed -i '/delete:/a\ enabled: true' /etc/docker/registry/config.yml
echo "----- Enabled Local Storage Delete -----"
fi
case "$1" in
*.yaml|*.yml) set -- registry serve "$@" ;;
serve|garbage-collect|help|-*) set -- registry "$@" ;;
esac
exec "$@"