일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 티스토리챌린지
- 정보처리기사실기 기출문제
- 정보처리기사 실기
- CloudWatch
- IntelliJ
- aws
- 공부
- 코틀린 코루틴의 정석
- AWS EKS
- kotlin querydsl
- PETERICA
- 기록으로 실력을 쌓자
- mysql 튜닝
- MySQL
- kotlin spring
- Linux
- CKA 기출문제
- APM
- Java
- kotlin
- Spring
- Kubernetes
- minikube
- CKA
- Pinpoint
- AI
- 정보처리기사 실기 기출문제
- kotlin coroutine
- Elasticsearch
- 오블완
- Today
- Total
목록DevOps/Docker (27)
피터의 개발이야기
ㅁ 들어가며 Docker 컨테이너에서 한국 시간(KST)을 적용하는 아래의 방법을 정리하였다.ㅇ 간단한 설정: -e TZ=Asia/Seoul 옵션 사용ㅇ 여러 컨테이너 관리: docker-compose.yml 환경변수 추가ㅇ 이미지 빌드 시 적용: Dockerfile에 타임존 설정ㅇ 컨테이너 내부 직접 설정 ㅁ 컨테이너 실행 시 환경변수 설정컨테이너를 실행할 때 -e 옵션을 사용하여 TZ(Timezone) 환경변수를 설정한다.docker run -d -e TZ=Asia/Seoul [이미지 이름]ㅇ -e 옵션을 사용하여 TZ(Timezone) 환경변수를 설정ㅇ 컨테이너 실행 시 한국 시간으로 설정된다. docker run -e TZ=Asia/Seoul --rm nginx dateㅇ 컨테이너 내부에서 dat..
ㅁ 들어가며 Docker multi-stage 빌드를 사용하여 Go 애플리케이션의 빌드 환경과 배포 환경을 분리하는 방법에 대해 정리해 보았다. 이 방법을 통해 최종 이미지의 크기를 줄일 수 있다. ㅁ Docker Multi-stage 빌드란? Docker multi-stage 빌드는 하나의 Dockerfile 내에서 여러 단계(stage)를 나누어 최종 이미지를 생성하는 기술이다. 이를 통해 빌드 환경과 실행 환경을 분리하여 필요 없는 환경을 제거하여 최종 이미지의 크기를 줄인다. ㅁ Go 애플리케이션을 위한 Multi-stage Dockerfile 작성빌드 단계 정의# 빌드 단계FROM golang:1.17 AS builder# 작업 디렉토리 설정WORKDIR /app# Go 모듈 파일 복사 및 의..
ㅁ 들어가며ㅇ Docker에서 Rocky Linux9를 실행하고, FFMPEG을 설치하는 과정을 정리하였다. ㅁ Rocky Linux9 설치이미지 다운로드docker pull rockylinux:9 도커 실행docker run -it --name rocky9 rockylinux:9 /bin/bash 도커 정지docker stop rocky 도커 재시작docker start rocky9docker exec -it rocky9 /bin/bash ㅁ FFMPEG 설치ㅇ FFmpeg는 AlmaLinux의 기본 저장소에서 직접 사용할 수 없지만 EPEL + CRB 또는 RPM Fusion 저장소를 통해 설치할 수 있다. EPEL 및 CRB 저장소 활성화ㅇ FFMPEG를 설치하는 데 필요한 대부분의 필수 종속성..
ㅁ 관련글ㅇ [Node.js] PM2를 사용한 Node.js 관리하기(PM2 사용법 정리)ㅇ [Docker] Docker와 pm2를 함께 사용하는 것이 불리한 이유ㅇ [Docker] Express 서버를 Docker에서 PM2로 기동하는 방법ㅇ [Grafana] grafana k6로 테스트 환경 구성(grafana, influxdb, k6)ㅁ 들어가며ㅇ node 서비스를 Node process manager인 pm2로 관리하고 있는데, 이를 docker 환경으로 이관 중이다.ㅇ docker와 pm2가 둘다 프로세스를 관리하는 주체이기에 충돌 문제점에 대해서 조사해 보았다. ㅁ 기능 중복ㅇ Docker와 PM2 모두 프로세스 관리자 역할을 한다.ㅇ 두 도구 모두 로그 전달, 자동 재시작 등의 기능을 제공..
ㅁ 들어가며 회사 동료를 통에 알게된 Uptime Kuma는 오픈 소스로 제공되는 자체 호스팅형 모니터링 도구로, 서버와 웹사이트의 상태를 지속적으로 모니터링할 수 있는 강력한 툴이다. 이 글에서는 Uptime Kuma를 Docker로 설치하고 사용하는 방법을 정리하였다. 그래서 기본적으로 Docker가 필요하다. 자세한 활용 방법은 유튜브 영상에서 확인할 수 있다. ㅁ Uptime Kuma란? Uptime Kuma는 서버의 헬스체크(ping), 웹사이트 도메인 상태 확인, SSL 인증서 만료 여부 감지 등 다양한 기능을 제공하는 모니터링. 도구다. 무료 오픈 소스로 제공되며, 자체 호스팅이 가능하다. 또한, HTTP, HTTPS, TCP 포트 모니터링 및 다양한 알림 서비스를 연동할 수 있다. gi..
module.exports = { apps: [{ name: "app", script: "./index.js", instances: "5", exec_mode: "cluster", watch: false, }]}ㅁ 관련글ㅇ [Node.js] PM2를 사용한 Node.js 관리하기(PM2 사용법 정리)ㅇ [Docker] Docker와 pm2를 함께 사용하는 것이 불리한 이유ㅇ [Docker] Express 서버를 Docker에서 PM2로 기동하는 방법ㅇ [Grafana] grafana k6로 테스트 환경 구성(grafana, influxdb, k6)ㅁ 들어가며 [Node.js] PM2를 사용한 Node.js 애플리케이션 관리하기에서 PM2의 기능에 대해서 알아보았다. PM2는..
ㅁ 들어가며ㅇ MacOS에서는 Oracle의 정식 지원이 없어 Colima를 이용해 설치해야한다.ㅇ Colima 설치는 [Docker] 맥북M1에 도커 컨테이너 colima설치에 정리하였다. ㅁ Colima 실행$ colima start --memory 4 --arch x86_64 # 정상작동 확인$ docker psㅇ Oracle 설치를 위한 환경은 준비 완료 ㅁ Oracle 컨테이너 실행$ docker run \ --name oracle2 \ --restart unless-stopped \ -e ORACLE_PASSWORD=strongpassword \ -p 1521:1521 \ -d \ gvenzl/oracle-xe ㅇ 옵션 설명 --name oracle2 // 컨테이너 이름 --restart..
ㅁ 들어가며 MacBook M3에서 로컬에서 빌드한 Docker 이미지가 개발 환경에서 문제가 발생하는 경우가 있다. 그 이유는 주로 아키텍처 호환성 문제 때문일 수 있다. MacBook M3는 ARM 아키텍처를 사용하지만, 많은 서버 환경은 여전히 x86 아키텍처를 사용한다. 이로 인해, ARM에서 빌드한 이미지를 x86 환경에서 실행하려고 하면 문제가 발생할 수 있다. ㅁ 해결방법ㅇ 이 문제를 해결하기 위해 Colima를 사용하여 Docker 이미지를 빌드하는 것이 도움이 될 수 있다.ㅇ Colima는 MacOS에서 Docker를 실행하기 위한 경량의 대안으로, 기본적으로 QEMU를 사용하여 다양한 아키텍처를 지원한다.ㅇ 다음은 Colima를 사용하여 멀티 아키텍처 Docker 이미지를 빌드하는 방법..
ㅁ 들어가며ㅇ 내가 사용하는 맥미니의 Docker가 가끔 꺼져있을 때가 있다.ㅇ 원격으로 사용 중 Docker를 켜려면 remote로 원격접속하여 켰는데... 너무나 쉬운 방법이 있었다. ㅁ Docker가 꺼져 있는 상황$ docker psCannot connect to the Docker daemon at unix:///Users/peterseo/.docker/run/docker.sock. Is the docker daemon running?ㅇ Docker가 꺼져 있으면 데몬을 실행시켜 달라고 한다. ㅁ 터미널에서 Docker 실행$ open -a Docker
ㅁ 들어가며ㅇ Docker 컨테이너의 통신은 어떻게 하는 것인가를 공부하고 있습니다.ㅇ [Docker] Network, 호스트와 컨테이너의 구조에서 도커 네트워크의 구조를 이해하고 네트워트 설정의 특성을 정리하였습니다.ㅇ [Docker] Network 명령어 정리에서 네트워크 연결을 위한 CLI 명령어를 정리하였습니다.ㅇ 이번 글에서는 컨테이너의 통신을 상황별로 어떻게 설정하는지 공부한 내용을 정리하였습니다. ㅁ 브리지 네트워크ㅇ Docker Container를 생성 시 네트워크의 기본은 docker0입니다.# busybox 생성$ docker run -itd --name=busybox busybox# busybox 생성$ docker run -itd --name=busybox2 busybox# brid..