일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kubernetes
- 공부
- 기록으로 실력을 쌓자
- mysql 튜닝
- APM
- kotlin
- CKA
- Pinpoint
- 오블완
- AI
- 코틀린 코루틴의 정석
- Spring
- AWS EKS
- 정보처리기사 실기 기출문제
- Linux
- Elasticsearch
- kotlin coroutine
- 정보처리기사실기 기출문제
- kotlin querydsl
- 티스토리챌린지
- aws
- kotlin spring
- Java
- MySQL
- 정보처리기사 실기
- CloudWatch
- PETERICA
- IntelliJ
- minikube
- CKA 기출문제
- Today
- Total
목록DevOps/Docker (38)
피터의 개발이야기
ㅁ 들어가며 오늘은 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 ㅇ 문서역할: 이미지를 빌드할 때에 사용가능한 포트를 안내하는 커뮤니케이션 도구ㅇ 실제 포트 개방 ..
ㅁ 들어가며ㅇ ubuntu:22.04에 ffmpeg을 설치하는 방법을 정리하였다. ㅁ 컨테이너 생성docker run -it --name=ubuntu22-basic --platform linux/amd64 ubuntu:22.04 bash ㅇ 테스트를 위한 ubuntu 컨테이너를 생성한다. ㅇ 맥북 M3이어서 platform 옵션을 추가하였다. ㅁ 기본 APT 설치 방법apt update apt -y install ffmpeg ㅁ 설치 확인root@efe93bd51271:/$ ffmpeg -versionffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developersbuilt with gcc 11 (Ubuntu 11.2...
ㅁ 들어가며 Transcoding, ffmpeg 기본 사용법에서 ffmpeg, Docker로 무설치 사용하기에 대해서 간단히 정리해 보았다. 현재 Docker 환경에서 ffmpeg을 이용한 개발 중인데, OS(Rocky9, Ubuntu)와 ffmpeg의 버젼에 따라서 여러가지 문제가 발생하여 트러블 슈팅을 하면서 알게 된 내용을 정리해 보았다. ㅁ 기본 사용법docker run -it --rm linuxserver/ffmpeg:latest -versionㅇ linuxserver/ffmpeg는 이미 ffmpeg이 endpoint로 지정되어 있어서, 옵션만 전달하면 된다.ㅇ 반대로, 이 이미지를 통해 bash로 실행되지는 않았다. ㅁ 특정 버전의 ffmpeg 테스트docker run -it --rm linu..
ㅁ 들어가며 Docker를 사용하면서 가장 자주 접하는 명령어인 docker run에 대해서 정리해 보았다. 이 명령어는 Docker 이미지로부터 새로운 컨테이너를 생성하고 실행하는데 자주 쓰이는데, 매번 작성 시 참조하기 위해 이 글을 정리하였다. ㅁ docker run의 기본 구조docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]ㅇ [OPTIONS]: 컨테이너 실행 시 적용할 다양한 옵션들ㅇ IMAGE[:TAG|@DIGEST]: 실행할 Docker 이미지 (태그나 다이제스트 지정 가능)ㅇ [COMMAND]: 컨테이너 내에서 실행할 명령어 (옵션)ㅇ [ARG...]: 명령어에 전달할 인자 (옵션) ㅁ docker run의 동작 방식docker r..
ㅁ 들어가며 Docker를 사용하다 보면 컨테이너의 로그를 확인해야 할 때가 있다. 일반적으로 Linux 환경에서는 /var/lib/docker/containers/ 경로에서 로그 파일을 찾을 수 있지만, MacOS에서는 상황이 조금 다르다. 이 글에서는 MacOS의 Docker 로그 저장 위치에 대해서 공부한 내용을 정리하였다. ㅁ MacOS의 Docker 로그 저장 위치 MacOS에서 Docker는 LinuxKit 위에서 동작한다. 이로 인해 로그 파일의 실제 위치는 LinuxKit VM 안에 존재한다.그래서 Docker 로그 파일을 찾기 위해서 LinuxKit VM에 접속하여 VM 내부에서 로그 파일들을 확인한다. ㅁ LinuxKit VM에 접속하기ㅇ Git의 BretFisher/docker-..
ㅁ 들어가며 배포환경을 구성하면서 보안점검에 대해서도 대비해야한다. [Docker] Distroless 이미지란?에서 Muti Stage build와 경량 이미지를 이용하는 방법에 대해서 보안취약점에 대비하는 방법을 알게 되었는데, 생성된 Docker 이미지의 보안성 체크를 위해 Trivy를 알게 되어 이 글을 작성한다. ㅁ Trivy란?Trivy는 Aqua Security에서 개발한 오픈소스 취약점 스캐너이다.컨테이너 이미지, 파일시스템, Git 저장소 등의 취약점을 검사할 수 있다. ㅁ 설치 방법# macOSbrew install trivy# ubuntusudo apt-get install trivy# docker docker run aquasec/trivy ㅇ Trivy는 Installing Tri..
ㅁ 들어가며 Docker의 경량 이미지는 alpine만 알고 있었다. 보안 취약점과 이미지의 용량에 대해서 고민하면서 회사 크루의 소개로 Distroless를 알게 되었다. 도커 이미지계의 미니멀리즘이라, 해커가 들어와도 할 수 있는게 없었다. 그래서 보안점검, 이미지 경량화에 우수하지만 디버깅은 어렵다. ㅁ Distroless 이미지란? Distroless 이미지는 Kubernetes 워크로드를 위해 설계된 최소화된 컨테이너 이미지이다. 이 이미지는 애플리케이션과 그 런타임 의존성만을 포함하며, 불필요한 요소들을 과감히 제거하였다. ㅁ Distroless의 특징ㅇ 최소한의 구성: 애플리케이션에 필요한 최소한의 바이너리 코드와 직접적인 종속성만 포함ㅇ 불필요한 요소 제거: 패키지 관리자, shel..