일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Pinpoint
- 코틀린 코루틴의 정석
- CKA 기출문제
- 정보처리기사실기 기출문제
- APM
- 정보처리기사 실기 기출문제
- 공부
- kotlin coroutine
- MySQL
- CloudWatch
- Elasticsearch
- PETERICA
- CKA
- Spring
- aws
- Kubernetes
- IntelliJ
- 기록으로 실력을 쌓자
- AI
- 티스토리챌린지
- Java
- 정보처리기사 실기
- minikube
- kotlin querydsl
- kotlin
- mysql 튜닝
- docker
- Linux
- 오블완
- AWS EKS
- Today
- Total
목록DevOps/Docker (44)
피터의 개발이야기
ㅁ 들어가며ㅇ 지난 글, [Docker] Docker 컨테이너에서 JAR 파일만 수정하고 다시 실행하는 방법에서 실행 중인 컨테이너에서 JAR 파일을 갱신하는 과정을 정리하였다. 이후, 해당 컨테이너를 새로운 태그로 지정하여 Docker Hub에 푸시하는 과정을 정리하였다.2021년, Pinpoint를 구성하면서 작성한 글, [docker] PinPoint docker Commit 하고 Push하기에서도 비슷한 과정이 정리되어 있다. ㅁ 실행 중인 컨테이너를 이미지로 커밋사용법)docker commit :ex) docker commit my_container my_image:updatedㅇ 컨테이너의 현재 상태를 새로운 이미지를 생성하여 저장한다. ㅁ 이미지에 태그 추가사용법)docker tag : ..
ㅁ 들어가며Spring Boot Batch로 작성된 기존 코드에서 연동된 주소만 수정하여 테스트가 필요하였다. Batch는 이미 도커로 빌드된 상황에서 실행 중인 Docker 컨테이너에서 JAR 파일만 수정하고 다시 실행하는 방법을 정리하였다. 이렇게 하면 기존 Endpoint로 선언된 Spring실행 명령문 그대로 변경된 url로 테스트를 수행할 수 있었다. ㅁ 새로운 JAR 파일 준비./gradlew clean buildㅇ 로컬 환경에서 수정된 코드로 새 JAR 파일을 빌드 ㅇ IntelliJ에서 Gradle build를 실행하면 build/libs/빌드된.jar를 확인할 수 있다. ㅁ 새 JAR 파일을 컨테이너로 복사docker cp /로컬/경로/radio-da-1.0.0-SNAPSHOT.jar ..
ㅁ 들어가며ㅇ 보안검수 중 Docker의 특정 볼률에대해 Read-only 조치를 지시 받았다. ㅇ Docker Compose에서 볼륨을 읽기 전용(read-only)으로 설정하는 방법을 정리하였다. ㅁ Docker Compose 볼륨, 읽기전용 설정방법# 짧은 방법volumes: - /호스트/경로:/컨테이너/경로:ro# 긴 방법volumes: - type: bind source: /호스트/경로 target: /컨테이너/경로 read_only: trueㅇ :ro는 "read only"의 약어로, 해당 볼륨을 읽기 전용으로 설정한다.ㅇ 이렇게 설정하면 호스트 머신에서는 파일을 수정할 수 있지만, 컨테이너에서는 읽기만 가능하다. ㅁ Docker run 시 docker run -v /경로..
ㅁ 들어가며ㅇ 젠킨스 빌드환경을 구성하면서 이전에 빌드되었던 이미지들과 컨테이너들이 있었다. 도커 시스템에서 사용하지 않는 리소스를 쉽게 정리하는 방법을 정리해 보았다. ㅁ docker system prune이란?docker system prune은 도커 시스템에서 사용하지 않는 리소스를 한 번에 정리해준다. 중지된 모든 컨테이너최소 하나의 컨테이너에서 사용되지 않는 모든 네트워크매달려 있는(dangling) 모든 이미지모든 빌드 캐시 ㅁ 사용 방법docker system pruneㅇ 이 명령어를 실행하면 경고 메시지와 함께 삭제될 항목들이 나열된다. 계속 진행하려면 'y'를 입력한다.ㅇ 20GB의 리소스가 정리되었다. ㅁ 추가 옵션기본적으로 볼륨은 삭제되지 않는다. 볼륨도 함께 삭제하려면 --volum..
ㅁ 들어가며Docker Hub의 사용 정책이 2025년 3월 1일부터 변경되어 사용에 제한이 주어진다. 서비스 품질 유지를 위해 제한을 두거나 추가 요금을 부과할 수 있게 하였다. ㅁDocker Hub 계정 유형별 제한 사항Docker Hub는 사용자 유형에 따라 다양한 제한을 두고 있다.계정 유형월간 Pull 횟수시간당 Pull 제한공개 저장소비공개 저장소비공개 저장소 용량Business100만무제한무제한무제한최대 500 GBTeam10만무제한무제한무제한최대 50 GBPro2.5만무제한무제한무제한최대 5 GBPersonal해당 없음40무제한최대 1개최대 2 GB비인증 사용자해당 없음IP당 10해당 없음해당 없음해당 없음 ㅁ 공정 사용 정책 Docker는 플랫폼의 안정적인 운영을 위해 '공정 사용 정책..
ㅁ 들어가며 Docker와 Docker Compose를 더 쉽고 효율적으로 관리하는 방법을 찾고 있었다. Lazydocker가 바로 그 해답이었다. 이 강력한 터미널 UI 도구를 통해 Docker 컨테이너, 이미지, 볼륨을 한눈에 관리할 수 있다. ㅁ 설치 방법# macbrew install lazydocker# Binary 설치curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bashㅇ 자세한 lasydocker 설치 설명ㅇ Linux 사용자라면 curl로 쉽게 설치할 수 있다. ㅁ 기본 사용법lazydockerㅇ 터미널에서 위 명령어를 실행한다. ㅇ 실행된 화면..
ㅁ 들어가며 오늘은 Docker를 이용해 MockServer를 설정하고 사용하는 방법에 대해 알아보았다. MockServer는 API 응답을 모킹하는 데 매우 유용한 도구로, 개발 및 테스트 과정에서 큰 도움이 된다. ㅁ MockServer란? MockServer는 HTTP 요청에 대해 사전 정의된 응답을 제공하는 도구이다. 실제 서버 없이도 API 응답을 시뮬레이션할 수 있어, 프론트엔드 개발이나 테스트 환경 구축에 매우 유용하다. ㅁ Docker로 MockServer 실행하기docker pull mockserver/mockserverdocker run -d -p 1080:1080 mockserver/mockserver ㅁ 응답 설정하기# reqcurl -X PUT "http://localhost:10..
ㅁ 들어가며 Docker 작업을 진행하고 있었는데, docker login이 되지 않은 문제점이 발생하였다. [Docker] Error saving credentials: error storing credentials 해결방법에서 이 문제를 해결하였지만, MacOS가 docker를 악성코드로 인식하는 문제가 발생하였다. 이어지 내용은 해결과정이고 빠른 해결을 말하자면, 신규 버젼 4.37.2 다운로드 및 설치하면 된다. ㅁ 증상com.docker.vmnetd는 사용자의 컴퓨터를 손상시킵니다. ㅇ Docker가 자동업데이트되면서 다운로드한 파일이 MacOS 보안과 충돌이 발생하였다. ㅇ 일단 무시하고 재시동을 시도해 보았다. ㅇ 재시동 후 Docker를 삭제하라는 경고가 발생하였다.ㅇ 이후 Docker를..
ㅁ 들어가며ㅇ docker 로그인 시 saving credentials 문제가 발생하여 트러블 슈팅하고 그 해결방법을 정리 ㅁ 에러 내용docker login {url} -u peterica -p WARNING! Using --password via the CLI is insecure. Use --password-stdin.Error saving credentials: error storing credentials - err: exit status 1, out: `error getting credentials - err: exit status 1, out: `The user name or passphrase you entered is not correct.`` ㅁ 해결 방법# keychain 삭제rm /..
ㅁ 들어가며 Docker를 설정하면서 포트 설정과 관련하여 Dockerfile의 EXPOSE 명령어와 "docker run -p" 옵션을 보게 된다. 이 두 가지는 비슷해 보이지만 실제로는 매우 다른 목적을 가지고 있다. EXPOSE: 문서화 및 메타데이터 제공되며, 이미지 빌드 시 적용됨."docker run -p": 컨테이너 실행 시 실제 포트 매핑 수행 ㅁ Dockerfile의 EXPOSE EXPOSE 명령어는 Dockerfile에서 사용되며, 컨테이너가 실행 중에 사용할 네트워크 포트를 지정하는 역할을 한다. 하지만 EXPOSE가 실제로 포트를 열어주지는 않는다.FROM nginxEXPOSE 80 ㅇ 문서역할: 이미지를 빌드할 때에 사용가능한 포트를 안내하는 커뮤니케이션 도구ㅇ 실제 포트 개방 ..