docker 12

[LLM] 로컬 vLLM Gemma 4 서빙 팁 (feat. Docker 기반 세팅 가이드)

Gemma 4가 성능이 좋다고 입소문 타면서 개인적으로 문의해주시는 분들이 많으시더라고요. 그래서 간단하게 vLLM과 도커로 Gemma4 서빙하는 방법 알려드리고자 왔습니다.1. 왜 vLLM v0.19.0이어야 하는가1-1. Gemma 4 아키텍처 정식 지원은 v0.19.0이 최초Gemma 4는 기존 Gemma 시리즈와 아키텍처가 크게 달라졌습니다. MoE(128개 fine-grained experts, top-8 routing), Dual Attention(슬라이딩 윈도우 로컬 + 글로벌 어텐션 교차 배치, head dimension 256/512 이종 구성), 네이티브 멀티모달(텍스트/이미지/오디오) 등이 새로 도입되었습니다. vLLM은 이러한 Gemma4를 지원하기 위해 발빠르게 움직여서 vllm/..

DL/LLM 2026.04.08

[Docker] 서버와 도커에서 GPU가 안 잡힐 때: API Mismatch & Failed to initialize NVML: Unknown Error 해결법

딥러닝 서버를 운영하다 보면, 어제까지 잘 돌아가던 모델이 아침에 갑자기 GPU를 인식하지 못하는 상황을 종종 마주하게 됩니다. 오늘은 가장 빈번하게 발생하는 두 가지 치명적인 오류, 1. 커널과 드라이버 버전 불일치(API Mismatch)와 2. 도커 컨테이너 내부의 권한 상실(Unknown Error)에 대한 원인과 해결 방법을 정리하고자 합니다. Case 1. 호스트의 nvidia-smi가 안 될 때 (API Mismatch)1. 증상 확인갑자기 nvidia-smi 명령어가 작동하지 않고, dmesg -T 명령어로 커널 로그를 확인했을 때 다음과 같은 에러가 쏟아집니다.$ dmesg -T[Mon Mar 10 02:22:38 2025] NVRM: API mismatch: the client has ..

개발/Docker 2026.02.03

[Linux/Docker] GitLab CE (설치형) 서버 구축 및 세팅 (Docker Compose)

이전 글에서는 SaaS형 GitLab 사용 방법에 대해 알려드렸는데요. 무료 SaaS형은 인원/용량 제한이 있어서 큰 팀에서는 제한사항이 있을 수 있습니다. SaaS형 GitLab.com의 인원/용량 제한 없이, 자체 리눅스 서버에 GitLab CE(Community Edition)를 구축하여 팀 협업 환경을 세팅하는 방법을 정리합니다. Docker Compose를 사용하여 설치부터 초기 설정까지의 과정을 다룹니다.1. 사전 준비OS: Linux (Ubuntu, CentOS 등)Resources: RAM 4GB 이상 권장 (8GB 이상 추천)Dependencies: Docker, Docker Compose 설치 완료 상태2. 디렉토리 생성GitLab의 설정 파일(Config), 로그(Logs), 데이터(..

개발/Linux 2025.11.26

[개발] GitLab 초기 가이드 서버 계정 생성부터 협업 워크플로우까지 (feat. 팁)

개발자라면 누구나 한 번쯤 들어봤을 GitHub와 GitLab, 두 플랫폼 모두 Git을 기반으로 하지만 그 성격에는 조금 차이가 있습니다.GitHub가 오픈소스 생태계와 커뮤니티 중심의 개발자 소셜 네트워크 성격이 강하다면,GitLab은 프로젝트 관리부터 배포(CI/CD)까지 개발의 전 과정을 한 곳에서 처리하는 올인원(All-in-One) DevOps 플랫폼으로서의 강점이 있습니다.GitLab을 통해 소스 코드를 효율적으로 관리하고, 실제 개발 작업은 보안이 유지되는 사내 리눅스 서버에서 진행하는 방식을 택했습니다. 이렇게 하면 GitLab의 강력한 협업 도구를 그대로 활용하면서도, 개발 환경은 우리 팀만의 독립적인 서버에서 유연하게 구성할 수 있기 때문입니다. 물론 위와 같은 SaaS형만이 아니고,..

개발 2025.11.21

[Linux] Ubuntu 서버에 Docker와 NVIDIA Container Toolkit 설치 방법(GPU 활용)

0. 서론 및 목표 : 최근 AI 및 LLM 연구/개발 환경은 Python 라이브러리, CUDA 버전, 시스템 의존성 등이 복잡하게 얽혀있습니다. 이러한 의존성 문제에서 벗어나, 격리되고 재현 가능한 환경을 구축하는 가장 효율적인 방법은 Docker를 사용하는 것입니다. 하지만 기본 Docker는 CPU와 메모리만 인식할 뿐, NVIDIA GPU의 존재를 모릅니다.이 포스트에서는 Ubuntu 서버에 Docker 엔진을 설치하고, NVIDIA Container Toolkit을 연동하여 Docker 컨테이너가 호스트의 GPU 리소스를 활용할 수 있도록 설정하는 전 과정을 작성하고자 합니다. Ubuntu에 Docker 공식 리포지토리를 사용하여 최신 Docker Engine을 설치합니다.NVIDIA GPU를 ..

개발/Linux 2025.11.10

[개발] 폐쇄망 온프레미스(On-premise)에서 서비스 구축(No-Docker, RHEL...)

0. 서론: 종속성 지옥여러 프로젝트가 있어서 오랜만에 글을 업로드하네요ㅎㅎ….당분간은 정리만 해 두고 미뤄왔던 글들 쭈욱 몰아서 업로드 해보도록 하겠습니다. 우선은 폐쇄망에서 온프레미스 RAG 서비스 구축에 대한 글을 정리해 보려 합니다. 여러 프로젝트를 하다보면 폐쇄망 온프레미스로 서비스를 제공해야 하는 경우가 많은데요. 대표적으로 금융권이 그렇습니다. 그리고 이러한 곳들은 보안 규정과 표준 정책이 매우 엄격합니다. 예를 들어 "서버는 반드시 Red Hat Enterprise Linux (RHEL) 8.x 버전만 사용해야 한다"와 같이 OS와 버전이 고정된 경우가 많죠. 문제는 이처럼 이미 구축된 인프라 위에서 최신 AI 기술 스택을 구현해야 한다는 점입니다. 특히 도커(Docker)나 쿠버네티스(..

개발 2025.11.03

[Docker] 자주 사용하는 도커/리눅스 명령어 정리

매번 도커 명령어를 까먹어서 자주 사용하거나 알아두면 유용한 명령어들을 이번에 한번 정리해보고자 합니다. 1. 이미지 관련 명령어도커 이미지는 컨테이너를 생성하기 위한 설계도와 같습니다. 애플리케이션과 필요한 모든 종속성, 라이브러리, 환경 설정 등을 포함하고 있습니다. 효율적인 컨테이너 운영을 위해서는 이러한 이미지를 효과적으로 관리하는 것이 중요합니다. 1. docker pull NAME[:TAG|@DIGEST]기능: 도커 레지스트리(기본: Docker Hub)에서 이미지를 다운로드합니다.주요 사용법: 이미지 이름(NAME)은 필수입니다. 특정 버전(TAG 또는 DIGEST)을 지정할 수 있으며, 생략 시 latest 태그가 사용됩니다.예시:docker pull nginx (최신 Nginx 이미지 ..

개발/Docker 2025.04.21

[Docker] Docker 컨테이너 내부에서 Jupyter Lab 설정 및 실행 : 버전 관리와 정확한 검증을 위한 환경 구축

오랜만에 Docker 관련 글을 작성하네요 ㅋㅋㅋ.그럼 Docker 컨테이너 내부에 Jupyter Lab 개발 환경을 구축하고 활용하는 방법에 대해 자세히 알아보겠습니다. 이 방식의 핵심 목표는 실제 서비스 환경과 동일한 Docker 이미지 및 라이브러리 버전(NumPy, PyTorch, TensorFlow 등) 위에서 개발 및 실험(학습, 추론 등)을 진행함으로써, 모델 검증의 정확성과 신뢰도를 높이는 데 있습니다. 개발 환경과 실제 서비스 환경 간의 미묘한 버전 차이는 예상치 못한 오류나 성능 저하를 야기할 수 있습니다. 도커 외부에서 Jupyter lab을 실행하지 않고 Docker 내부에서 실행하면 이러한 문제를 원천적으로 방지하고, 격리되고 재현 가능한 환경에서 효율적으로 작업할 수 있습니다. ..

개발/Docker 2025.04.21

Dockerfile 내용 기반 Docker Image Build.

0. Docker를 사용하는 이유도커 컨테이너를 통해 작업하는 가장 큰 장점은 애플리케이션의 실행 환경을 격리하고 일관성 있게 유지할 수 있다는 점입니다. Docker 환경에서 작업을 진행하면 다음과 같은 장점이 있습니다. 1. 실행 환경의 일관성컨테이너는 애플리케이션과 그 종속성을 패키지화하여 어떤 환경에서도 동일하게 동작하도록 보장합니다.→ "내 로컬에서는 잘 작동하지만 서버에서는 오류가 난다" 같은 문제를 방지.2. 격리된 환경 제공각 컨테이너는 독립적인 실행 환경을 제공하므로, 하나의 컨테이너에서 문제가 발생해도 다른 컨테이너나 호스트 시스템에 영향을 주지 않습니다.→ 동일한 호스트에서 서로 다른 애플리케이션(예: Python 3.9과 3.8)을 충돌 없이 실행 가능.3. 이동성(Mobility)..

개발/Docker 2024.11.27

[Docker] Python Dash로 개발한 웹 페이지 Docker로 띄우기

Docker 설치 앞서 Window에서 Docker를 설치하는 과정을 업로드 했습니다. https://mz-moonzoo.tistory.com/40 [Docker]Windows 11 Pro에서 Docker 설치(Docker Desktop) Docker? Docker는 애플리케이션을 개발, 배포 및 실행하기 위한 플랫폼 및 도구 모음입니다. 주요 목적은 소프트웨어를 컨테이너라고 불리는 표준화된 유닛 내에서 패키징하여, 코드가 일관된 환경 mz-moonzoo.tistory.com Docker에 Python dash로 개발한 웹 페이지 올리기 이번에 설치한 docker로 제가 개발한 dash 웹 페이지를 배포해보도록 하겠습니다. 우분투에 Docker 환경 설정 1.우분투 패키지 목록 업데이트 sudo apt-..

개발/Docker 2024.01.29