반응형
- [ Docker ][DOCKER] Scratch 이미지에 대해서 알아보자2024-08-22 10:50:17Scratch 이미지란?Docker 에서 Scratch 이미지는 가장 최소화된(base) 이미지로, 완전히 빈 상태의 이미지를 의미한다.Docker 에서 사용 가능한 기본 이미지는 대부분 운영 체제의 기본 패키지를 포함하고 있지만, Scratch 는 그런 패키지조차 포함하지 않은 순수한 빈 상태이다.특징1. 크기Scratch 이미지는 사실상 크기가 0인 상태이다.따라서 이 이미지를 사용하면 크기를 최대한 작게 유지할 수 있다.2. 구성 요소 없음Scratch 이미지에는 shell, 패키지 관리자, 심지어는 기본적인 유틸리티도 포함되어 있지 않으며, 말 그대로 아무것도 없는 상태.3. 사용 사례일반적으로 Go, Rust, C 같이 정적으로 컴파일 된 바이너리를 실행하는 데 사용된다.이러한 바이너리는 실행에..
- [ Docker ][DOCKER] Docker 빌드 시, Multi Stage 사용하기2024-08-21 16:23:24여느때처럼 프로젝트 파일을 빌드 후 Dockerfile 로 배포하기위해 Script 를 작성하던 중, 예전부터 거슬렸던 Docker Image 크기가 눈에 들어왔다.불필요한 파일은 제외하고, 빌드된 결과만을 사용하려면 어떻게 해야할까? 기존 Script (Single Stage)# Use the official Golang image as the base imageFROM golang:1.22.3-alpine# Set the working directory inside the containerWORKDIR /app# Copy the source code into the containerCOPY ./src ./# Build the Go applicationRUN go build -o main.exe .# ..
- [ Linux ][Linux] Service 등록 방법 - Anaconda2024-08-14 11:00:24루트 시스템이 systemd 인 환경에서 진행. Service 파일을 생성한 후, 아래와 같이 작성.이때, 실행할 명령어를 입력하는 ExecStart 에서 source 명령어로 적용 및 가상 환경 activate 후에 실행 파일인 main.py 를 작동.[Unit]Description=# 서비스 시작 전 필요한 다른 서비스 지정After=network.target[Service]# 어떤 계정으로 실행할지 결정User=rootGroup=root# 서비스 실행되는 방식 지정# simple 지정 시 서비스가 실행될 때 부모 프로세스를 생성하지 않고 실행Type=simple# 서비스 실행 시 실행될 명령 경로 작성WorkingDirectory=ExecStart=/bin/bash -c 'source/anacond..
- [ Error Handling ][GIT ACTIONS] Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.2024-08-03 21:44:25원인Git Actions 를 사용하여 Node 기반 프로젝트 CI/CD 구축하던 중에 npm install 에서 위와 같은 에러가 발생.# Local PC 가 Mac OS 라면, Package.lock.json 에 @rollup/rollup-darwin-arm64 로 작성되어 있어서 에러가 발생. # 따라서, @rollup/rollup-linux-x64-gnu 로 변경해주거나 설치해주어야 함. 해결npm install @rollup/rollup-linux-x64-gnu --save-optional && npm install 위와 같이 @rollup/rollup-linux-x64-gnu를 설치 해주니까 정상적으로 npm modules 들이 설치되었다.
- [ Error Handling ][NPM] npm publis 시 에러 npm ERR! 402 Payment Required2024-08-03 21:24:06원인npm package 를 배포하려고 npm publish 명령어를 입력했는데, npm ERR! 402 Payment Required 에러가 발생했다.찾아보니 접근 권한이 default로 private 으로 되어있는데, 이는 유료정책을 사용해야하고 public 으로 해야 사용이 가능하다는 것. 해결--access=public 옵션을 붙여 실행해주었다.성공적으로 배포가 되면, 아래와 같이 출력된다.
- [ Error Handling ][DOCKER] 도커 node image 빌드 시, npm error code ENOENT 에러2024-08-02 18:18:35에러 원인node-alpine 이미지로 빌드하려니까 아래와 같이 에러가 발생.alpine 은 경량화 된 이미지라 git 이 없는듯 하다. 해결 방안RUN npm install 하기 전에, Git 설치 명령어 입력 후 다시 빌드해준다.RUN apk update && apk upgrade && apk add --no-cache bash git openssh
- [ Linux ][Linux] 리눅스 아키텍쳐 (Architecture) 확인 방법2024-07-18 18:27:08터미널을 열고, 아래 명령어를 입력dpkg -s libc6 | grep Arch AMD 인지, ARM 인지 확인할 수 있다.
- [ Kafka ][KAFKA] 카프카의 구성요소2024-07-16 15:03:39카프카의 구성요소카프카는 기본적으로 Producer, Kafka Cluster, Consumer 로 구성되어 있습니다. Producer- Message 를 만들어서 Broker 에 전송Kafka Cluster- Kafka Cluster은 여러 개의 Broker로 구성된 Kafka System.Consumer- Broker에 저장된 메시지를 Topic을 통해 가져옴.- 즉, 특정한 Topic을 구독하는 하나의 인스턴스이다. 1) Consumer GroupConsumer Group이란?Consumer Group은 여러 Consumer들이 하나로 묶인 논리적인 그룹 단위 입니다.Consumer는 group.id를 통해 식별되며, 동일한 group.id를 가진 Consumer끼리 같은 Consumer Gr..
반응형