리눅스 크론 작업 설정 방법 - 시스템 자동화

크론 반복적인 작업을 수동으로 처리하는 것은 시간 낭비다. 시스템 백업, 로그 정리, 디스크 공간 확인 등의 작업은 자동화가 필수다. 리눅스의 크론은 이러한 작업을 자동화하는 가장 기본적인 도구다. 크론의 개념 크론은 정해진 시간에 지정된 작업을 실행한다. 크론탭이라는 설정 파일에 실행할 시간과 명령어를 정의한다. 크론탭의 각 라인은 실행 시간과 명령어로 구성된다. 1 * * * * * /path/to/command 이 다섯 개의 별표는 각각 분, 시, 일, 월, 요일을 의미한다. 별표는 ‘모든’을 의미한다. 따라서 위 설정은 매분 해당 명령어를 실행한다. ...

2월 17, 2025 · 1 분 · 142 단어 · In-Jun Hwang

도커 컴포즈로 개발 환경 한 방에 세팅하기

개발 환경 구성의 어려움 웹 애플리케이션을 개발하다 보면 데이터베이스, 캐시 서버, 메시지 큐 등 다양한 미들웨어가 필요하다. 각각의 미들웨어를 설치하고 설정하는 과정은 번거롭고 시간도 많이 걸린다. 새로운 팀원이 합류할 때마다 이 과정을 반복해야 한다면 더욱 비효율적이다. 도커 컴포즈의 필요성 도커 컴포즈는 이러한 문제를 해결하는 도구다. YAML 파일 하나로 여러 컨테이너의 구성을 정의하고, 한 번의 명령으로 전체 환경을 실행할 수 있다. 버전 관리 시스템에 이 파일을 포함하면 모든 팀원이 동일한 환경을 쉽게 구성할 수 있다. ...

2월 17, 2025 · 3 분 · 592 단어 · In-Jun Hwang

도커 이미지 크기 10배 줄인 비결

최적화 전 상태 일반적인 Node.js 애플리케이션의 도커파일은 다음과 같다. 1 2 3 4 5 FROM node:18 WORKDIR /app COPY . . RUN npm install CMD ["npm", "start"] 이 이미지의 크기는 1GB를 넘는다. 주된 원인은 다음과 같다: 무거운 베이스 이미지 개발 도구 포함 불필요한 파일 존재 캐시 파일 누적 최적화 기법 1. 멀티 스테이지 빌드 적용 빌드 단계와 실행 단계를 분리한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 빌드 스테이지 FROM node:18-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build # 실행 스테이지 FROM node:18-alpine WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/package*.json ./ RUN npm install --production CMD ["npm", "start"] 2. 알파인 리눅스 사용 알파인 리눅스는 기본 이미지 크기를 크게 줄인다. ...

2월 17, 2025 · 3 분 · 535 단어 · In-Jun Hwang

도커 설치부터 첫 컨테이너 실행까지

운영체제 준비 도커는 리눅스 운영체제에서 가장 안정적으로 동작한다. 이 가이드는 우분투 20.04 LTS를 기준으로 한다. 도커 설치 기존 패키지 제거 시스템에 이전 버전의 도커가 설치되어 있다면 제거한다. 1 sudo apt-get remove docker docker-engine docker.io containerd runc 필수 패키지 설치 도커 설치에 필요한 패키지를 설치한다. 1 2 3 4 5 6 7 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release 도커 공식 GPG 키 추가 도커의 패키지 저장소를 사용하기 위해 GPG 키를 추가한다. ...

2월 17, 2025 · 3 분 · 465 단어 · In-Jun Hwang

도커란 무엇인가: 컨테이너 기술의 핵심 개념 정리

컨테이너의 등장 배경 서버 애플리케이션 배포는 오랫동안 많은 문제를 겪었다. 개발 환경과 운영 환경의 차이로 인한 버그 발생, 서버 구성의 일관성 부족, 복잡한 의존성 관리가 주요 원인이었다. 도커는 이러한 문제를 해결하기 위해 등장했다. 도커의 정의 도커(Docker)는 컨테이너 기반의 가상화 플랫폼이다. 애플리케이션과 그 실행에 필요한 모든 것을 컨테이너라는 표준화된 단위로 패키징한다. 컨테이너와 가상 머신의 차이 가상 머신은 하드웨어 수준의 가상화를 구현한다. 각 가상 머신은 완전한 운영체제를 포함한다. 반면 컨테이너는 운영체제 수준의 가상화를 사용한다. 호스트 운영체제의 커널을 공유하며 필요한 라이브러리와 실행 파일만 포함한다. ...

2월 17, 2025 · 2 분 · 303 단어 · In-Jun Hwang