분류 전체보기
-
[Docker] Docker Network 고정 IP 설정Docker 2024. 9. 2. 16:40
시스템이 재부팅 되거나, 도커를 내렸다가 다시 올리면 IP 가 수시로 변하곤 한다.이를 해결하기 위해 Nginx 를 사용해도 되긴하지만, Docker Network 설정을 적용하여 고정 IP 를 주도록하겠다.방법 1. Docker Network 생성하여 IP 할당- Network 생성docker network create --gateway 172.19.0.1 --subnet 172.19.0.0/24 dev - Docker run 시 Network 옵션docker run --net dev --ip 172.19.0.2 -p --name ... 방법 2. Docker-Compose 스크립트에서 Networks 설정# yaml 파일 포맷의 버전을 나타낸다. Docker-Compose 버전 마다 사용하는 y..
-
[Docker] Docker Desktop distro installation failed 에러 해결Error Handling 2024. 8. 30. 11:09
개요산업 현장 PC 에 설치 후, 직원분께서 Network 설정이 바뀐 뒤에 Docker Error 가 발생한다고 하여 확인해보니 Docker Desktop distro installation failed 알람창이 나타나면서 Docker-Desktop 가 실행이 안되었다. 설치할 때, WSL2 설정도 같이 했었는데, Network 가 바뀌면서 설정 충돌로 인해 에러가 발생하는것 같았다. 해결1. 우선 Docker-Desktop 을 종료해준다.2. 아래 명령어로 터미널에서 WSL 에 등록된 Docker-Desktop 을 해제시켜준다.wsl --unregister docker-desktop3. Docker-Desktop 을 재실행시켜준다. (이때, 자동으로 distro 를 다시 생성하며 WSL 에 등록된다...
-
[DOCKER] Scratch 이미지에 대해서 알아보자Docker 2024. 8. 22. 10:50
Scratch 이미지란?Docker 에서 Scratch 이미지는 가장 최소화된(base) 이미지로, 완전히 빈 상태의 이미지를 의미한다.Docker 에서 사용 가능한 기본 이미지는 대부분 운영 체제의 기본 패키지를 포함하고 있지만, Scratch 는 그런 패키지조차 포함하지 않은 순수한 빈 상태이다.특징1. 크기Scratch 이미지는 사실상 크기가 0인 상태이다.따라서 이 이미지를 사용하면 크기를 최대한 작게 유지할 수 있다.2. 구성 요소 없음Scratch 이미지에는 shell, 패키지 관리자, 심지어는 기본적인 유틸리티도 포함되어 있지 않으며, 말 그대로 아무것도 없는 상태.3. 사용 사례일반적으로 Go, Rust, C 같이 정적으로 컴파일 된 바이너리를 실행하는 데 사용된다.이러한 바이너리는 실행에..
-
[DOCKER] Docker 빌드 시, Multi Stage 사용하기Docker 2024. 8. 21. 16:23
여느때처럼 프로젝트 파일을 빌드 후 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] Service 등록 방법 - AnacondaLinux 2024. 8. 14. 11:00
루트 시스템이 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..
-
[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.Error Handling 2024. 8. 3. 21:44
원인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 들이 설치되었다.
-
[NPM] npm publis 시 에러 npm ERR! 402 Payment RequiredError Handling 2024. 8. 3. 21:24
원인npm package 를 배포하려고 npm publish 명령어를 입력했는데, npm ERR! 402 Payment Required 에러가 발생했다.찾아보니 접근 권한이 default로 private 으로 되어있는데, 이는 유료정책을 사용해야하고 public 으로 해야 사용이 가능하다는 것. 해결--access=public 옵션을 붙여 실행해주었다.성공적으로 배포가 되면, 아래와 같이 출력된다.