반응형 K8S/Docker21 Docker 사용후 이상하게 용량이 많아 진다? - Docker 컨테이너 로그 관리방법 Docker 컨테이너는 기본적으로 stdout/stderr 출력을 JSON 파일로 저장한다. 별도 설정 없이 운영하면 로그가 무한히 쌓여 디스크를 가득 채우는 주범이 된다.1. Docker 로그 구조로그가 쌓이는 원리컨테이너 stdout/stderr ↓Docker 로그 드라이버 (기본: json-file) ↓/var/lib/docker/containers//-json.log컨테이너 내부에서 console.log(), print(), echo 등으로 출력하는 모든 내용이 이 파일에 JSON 형태로 기록된다.로그 파일 형식{"log":"2026-02-20T07:28:15.123Z INFO Server started on port 8000\\\\n","stream":"stdout","time":".. 2026. 2. 20. Docker 사용후 이상하게 용량이 많아 진다? - Docker Build Cache 관리방법 Docker 이미지를 빌드하면 각 레이어가 캐시로 저장되어 다음 빌드 시 재사용된다.편리하지만 관리하지 않으면 디스크를 수십 GB씩 잡아먹는 주범이 된다.1. Build Cache란?Docker는 Dockerfile의 각 명령어(RUN, COPY 등)를 레이어 단위로 캐시한다.FROM node:20 ← 베이스 이미지 레이어COPY package.json . ← 캐시 레이어 1RUN npm install ← 캐시 레이어 2 (package.json 변경 없으면 재사용)COPY . . ← 캐시 레이어 3RUN npm run build ← 캐시 레이어 4이전 빌드와 동일한 명령 + 동일한 입력이면 캐시 히트 → 빌드 시간 단축변경이 감지되면 해당 레.. 2026. 2. 20. 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. 이전 1 2 다음 반응형