일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IntelliJ
- 코틀린 코루틴의 정석
- 정보처리기사 실기 기출문제
- mysql 튜닝
- kotlin querydsl
- Kubernetes
- APM
- 오블완
- minikube
- kotlin coroutine
- CloudWatch
- kotlin spring
- Pinpoint
- 티스토리챌린지
- 정보처리기사실기 기출문제
- aws
- AI
- 기록으로 실력을 쌓자
- 정보처리기사 실기
- kotlin
- 공부
- CKA 기출문제
- AWS EKS
- Spring
- Elasticsearch
- MySQL
- Linux
- PETERICA
- Java
- CKA
- Today
- Total
목록PETERICA (584)
피터의 개발이야기
ㅁ 들어가며 Viper는 Golang 애플리케이션에서 설정 정보를 관리하는 라이브러리이다. 이 글에서는 다양한 파일 형식을 지원하고 동적으로 값을 구성할 수 있는 Viper의 사용 방법을 정리하였다. ㅁViper 설치하기go get github.com/spf13/viper ㅁ 기본 사용법구성 파일 설정viper.SetConfigName("config") // 확장자를 제외한 구성 파일 이름viper.SetConfigType("yaml") // 구성 파일 형식 지정 (yaml, json, toml 등)viper.AddConfigPath("/etc/appname/") // 구성 파일을 찾을 경로 추가viper.AddConfigPath("$HOME/.appname") // 여러 경로 추가 가능viper.A..
ㅁ 들어가며 스트림을 트랜스코드하는 작업을 하면서 FFprobe를 사용하게 되었다. FFprobe는 FFmpeg 프로젝트의 일부로, 멀티미디어 파일의 상세 정보를 분석하고 출력하는 강력한 도구이다. 이 글에서는 FFprobe의 기본 사용법과 유용한 옵션들을 정리하였다. ㅁ 기본 사용법ffprobe [옵션] 입력파일 ㅁ 주요 옵션스트림 정보 표시ffprobe -show_streams 입력파일ㅇ 이 명령어는 파일의 모든 스트림(비디오, 오디오, 자막 등)에 대한 상세 정보를 출력한다. 포맷 정보 표시ffprobe -show_format 입력파일ㅇ 파일 컨테이너 포맷에 대한 정보를 보여준다. 간단한 정보만 표시ffprobe -v error -show_entries format=duration -of def..
ㅁ 들어가며 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..
ㅁ 들어가며 대부분의 PC는 Intel이어서 Intel 맥북의 경우 대부분 Docker의 플랫폼에 대해서 구분을 두지 않았었다. 하지만 맥미니M1을 구입하면서 플랫폼 차이로 인해 Rosetta 2 에뮬레이션을 이용해 다른 플랫폼을 실행하기 위한 [Docker] 맥북M1에 도커 컨테이너 colima설치에 대한 글을 쓰기도하였다. 최근 새로운 작업의 CICD 구성을 하면서 M3 맥북과 다양한 서버들을 경험하면서 플랫폼 차이로 인해 빌드, 도커 실행 시 문제점이 생기곤 하였다. 이번 글에서는 Docker에서 --platform 옵션은 다양한 아키텍처와 운영 체제에 대한 이미지를 빌드하고 실행할 때 유용하다. 이 옵션을 통해 특정 플랫폼에 맞는 이미지를 생성하거나 실행할 수 있다. 그리고 이를 이해하기 위..