반응형 K8S/Docker19 Docker Hub Rate Limiting 정책과 "authorization failed" 오류 이해하기 컨테이너 이미지를 다루다 보면, docker pull 과정에서 "authorization failed" 또는 429 Too Many Requests 오류를 경험할 수 있습니다. 이는 대체로 Docker Hub의 rate limiting 정책 때문입니다. 이번 글에서는 Docker Hub 공식 문서에 기반하여, 이 정책이 무엇이고 어떤 영향을 주며 어떻게 대응할 수 있는지 정리해 보겠습니다.1. Docker Hub Rate Limiting이란?Docker Hub는 2020년 11월부터 이미지 pull 요청 횟수에 제한(rate limit) 을 두었습니다. 이는 과도한 트래픽으로 인한 서비스 안정성 저하를 방지하고, 유료 플랜 사용자에게 더 나은 품질을 제공하기 위함입니다.공식 문서에 따르면, 6시간 단위로.. 2025. 9. 25. Windows에서 Docker 디스크 용량 줄이는 방법 (WSL2 + Docker Desktop) 목차 Docker를 쓰다 보면 어느 순간 C 드라이브 용량이 미친 듯이 줄어드는 경험을 합니다.이미지와 컨테이너를 삭제해도 용량이 안 줄어드는 이유는, Docker Desktop이 WSL2 내부의 가상 디스크(VHDX) 안에 데이터를 저장하기 때문입니다.이번 글에서는 Docker 용량이 불어나는 원인과, 이를 관리·최적화하는 방법을 정리합니다.📌 1. Docker 용량이 계속 불어나는 이유Docker Desktop (WSL2 모드)은 이미지, 컨테이너, 볼륨 데이터를 모두 WSL 가상 디스크에 저장합니다.이 가상 디스크 파일은 .vhdx 확장자를 가지며,보통 다음 경로에 있습니다.C:\Users\\AppData\Local\Docker\wsl\data\DockerDesktop.vhdx 문제는, 내부 데이.. 2025. 8. 10. Docker 설치 for rhel(8.10에서 설치) 많은 분들이 대부분 알고 있겟지만 rhel 8.10에서 설치는 조금 달라서 문제가 있으신분은 보시면 될것같습니다. 1. yum 업데이트sudo yum update -y아래는 업데이트하면 자동으로 설치됨. sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2. docker repo 추가sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoRhel 8.10의 경우repo지원을 아직 안하는지 이 이후에 docker 설치를 진행하면 fail이 됩니다. status code 404 for https //repos.influxdata.com/s.. 2025. 2. 17. [Docker] 다중 아키텍처 빌드를 위한 buildx buildx는 하나의 이미지로 다양한 아키텍처(arm,amd 같은) 를 사용할수 있게 빌드하는 방식 docker build: 기본적인 Docker 이미지 빌드 명령어입니다. 단일 아키텍처 이미지를 빌드하는 데 주로 사용됩니다. 기본적으로 로컬 Docker 엔진에 의해 실행됩니다. 다중 아키텍처를 지원하지 않습니다. docker buildx: Docker BuildKit을 사용하여 Docker 이미지를 빌드하는 확장된 도구입니다. 다중 아키텍처 이미지를 빌드하고 관리할 수 있습니다. 로컬 Docker 엔진 뿐만 아니라 원격 Docker 엔진 및 다른 빌드 환경과 통합할 수 있습니다. 다양한 빌드 환경과 통합하여 복잡한 빌드 프로세스를 관리할 수 있습니다. 참고 https://github.com/docker.. 2024. 2. 22. Docker 로그 관리 목차 서론 docker를 설치한뒤 로그가 많이 생기는 컨테이너가 있다. docker의 /var/lib/docker/containers 경로를 보면 생성한 컨테이너에 로그를 보면 보통은 별로 안쌓이는데 큰 여러가지 많은 것이 설치된 컨테이너의 경우는 로그의 용량이 순식간에 늘어난다. logrotate로 관리하면 될것 같은데 docker인데 docker 만의 로그 관리 기법이 있어서 포스팅한다. 관리 방법 /etc/docker/폴더에 들어가서 daemon.json파일을 생성하여 다음과 같은 양식으로 만들어 준다. { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "5" } } 형식과 파일 사이즈와 파일 갯수로 설정하면 됩니다... 2024. 1. 22. docker에서 as builder 를 사용하는 이유 목차 왜 쓸까? docker에서 as builder를 사용하는 경우가 있더라구요 로컬에서 빌드하고 아티팩트를 컨테이너에 복사하면 되는데 굳이 그럴 필요가 있나 싶었습니다. 하지만 사람마다 빌드하는 환경이 달라서 해당 환경을 모두 동일하게 하기 위해 builder 이미지를 따로 사용하는 것 같습니다. 해당 이미지를 가지고 개발을 하기 때문이죠. 설명 Docker는 소프트웨어 빌드를 위한 표준화되고 격리된 환경을 제공하기 때문에 종종 빌더로 사용됩니다. 개발자는 Docker를 사용하여 애플리케이션을 빌드하는 데 필요한 모든 종속성 및 도구를 포함하는 컨테이너 이미지를 생성할 수 있습니다. 그런 다음 이 컨테이너를 다른 팀 구성원과 공유할 수 있으므로 모든 사람이 동일한 환경에서 작업하는지 쉽게 확인할 수 있.. 2023. 2. 16. docker 8080/tcp port 뜨는 거 상위 이미지에서 상속받아서 하면 된다고 하는데...크흠 https://stackoverflow.com/questions/61161494/permanently-change-the-tomcat-port-from-dockerfile Permanently change the tomcat port from Dockerfile I want to run two containers inside a k8s pod. tomcat exporter ( which runs on port 8080 ) tomcat application ( which also runs on the port 8080 ) As multiple running containers inside a pod cant stackoverflow.com 2022. 11. 18. Docker 및 docker-compose 설치 for ubuntu 그냥 apt-get install docker apt-get install docker-compose 하면 됨 이전 버전 있으면 삭제를 해줘야한다. sudo apt-get remove docker docker-engine docker.io containerd runc 설치 repository 설정 sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ .. 2022. 11. 16. Docker forwarding 추가 및 중간에 변경하는법 Assign Docker port https://www.baeldung.com/linux/assign-port-docker-container docker community https://forums.docker.com/t/how-to-expose-port-on-running-container/3252/17 How to EXPOSE Port on running container nice solution, better than using the complex iptables forums.docker.com stackoverlfow https://stackoverflow.com/questions/19335444/how-do-i-assign-a-port-mapping-to-an-existing-docker-co.. 2022. 11. 14. docker 컨테이너 설정 파일찾기(for windows) docker info 해서 나오는 Docker Root Dir에 나오는 경로에 있긴한데 윈도우 10 home의 경우 wsl 위에서 도커가 실행이 되다보니 /var/lib/docker 이런 경로로 되어 있다. (리눅스의 경우는 그냥 /var/lib/docker에 가면 있다.) 이러면 도커데이터는 wsl 에서 관리하는 vhdx 로 저장이 되는데 이러면 직접적으로 열어보기가 까다롭다. $ docker run -v/:/data -it ubuntu /bin/bash # chroot /data # cd /var/lib/docker/containers 컨테이너로 볼륨 마운트 하는 형식으로 접근하는 수밖에 없다. 이렇게 컨테이너 uid 명으로 폴더가 나오므로 들어가서 설정하면 된다. wslconfig 파일로 설정하면 .. 2022. 11. 14. Docker 구조 및 lifecycle 아래내용은 아래 사이트 번역한것입니다. 번역기를 돌려 이상할수 있으니 영어가 되신다면 아래 사이트를 보시는게 좋을것같습니다. https://www.educative.io/answers/what-is-the-docker-container-lifecycle What is the Docker container lifecycle? Contributor: abhilash www.educative.io 이 게시물은 사이공의 grokking 엔지니어링 커뮤니티 와 공동 이벤트의 기초였습니다 . 이 이벤트는 DevOps를 중심으로 진행되었습니다. 토론에서 Docker Saigon은 Docker 내부에서 작동하는 방식에 대해 엔지니어링 청중의 관심을 끌 필요가 있었습니다. Docker 및 Linux 운영 체제에 대한 청.. 2022. 10. 28. docker-compose 에러: Operation CREATE USER failed for 'root'@'% Operation CREATE USER failed for 'root'@'% 보통 이미 유저에 root가 있어서 에러가 발생하는것 해당 docker-compose.yml에 root 유저 생성하는 곳을 삭제하거나 주석처리 db: image: mysql:5.7.22 restart: always environment: MYSQL_DATABASE: "admin" # MYSQL_USER: root MYSQL_PASSWORD: root MYSQL_ROOT_PASSWORD: root volumes: - .dbdata:/var/lib/mysql ports: - 3306:3306 이런식으로 하면 됩니다. 2022. 9. 29. 이전 1 2 다음 반응형