| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 용어정리
- express
- worker
- 네트워크
- kubernetes
- dockerfile
- RAPA
- Javascript
- 쿠버네티스
- Docker Swarm
- gns3
- OpenStack
- network
- docker
- 실습
- Docker-compose
- RAID
- node.js
- synology
- MongoDB
- ACL
- nodejs
- mysql
- IaaS
- 도커
- 명령어
- uid
- 이론
- 개념
- git
- Today
- Total
목록docker (6)
융융이'Blog
한눈에 보는 결과Synology NAS의 지정된 테스트 폴더를 Codex 같은 AI 클라이언트가 MCP(Model Context Protocol)로 조회할 수 있도록 읽기 전용 서버를 구축했다.이번 실습에서 중요하게 본 것은 단순히 사진을 읽는 기능이 아니었다. 관리자 계정을 사용하지 않고, 허용된 폴더만 읽게 하고, 원본을 수정할 수 없게 만든 뒤 실제 실패 테스트로 이를 검증하는 것이 목표였다.최종적으로 다음 항목을 확인했다.사진 목록 조회사진 형식·크기·해상도 조회최대 크기가 제한된 JPEG 미리보기 생성허용된 폴더 밖으로 나가는 경로 차단사진 폴더에 대한 파일 생성 차단인증 토큰이 없는 MCP 요청 차단새 Codex 프로세스에서 실제 MCP 도구 호출 성공서비스 구성데이터 흐름사용자가 Codex ..
결론컨테이너가 정상 실행됐지만 사진 공유 폴더를 읽지 못한 근본 원인은 컨테이너의 임의 UID/GID와 Synology DSM에서 읽기 권한을 받은 서비스 계정의 UID/GID가 일치하지 않았기 때문이었다.DSM 마스터 계정이나 root로 실행하지 않고, 다음 방식으로 해결했다.관리자 그룹에 속하지 않은 DSM 전용 서비스 계정을 만든다.테스트 사진 공유 폴더에만 읽기 권한을 준다.전용 계정의 실제 UID/GID를 확인한다.그 값을 Compose의 컨테이너 실행 사용자에 매핑한다.읽기 성공과 쓰기 실패를 각각 재검증한다.핵심은 “Permission denied를 없애는 것”이 아니라 “필요한 사용자만 읽고 누구도 이 경로를 쓰지 못하는 상태”를 만드는 것이었다.현상과 영향Photo MCP 컨테이너는 시작..
한 문장 정의UID와 GID는 Linux가 사용자와 그룹을 구분하는 숫자 신분증이고, ACL은 특정 사용자와 그룹이 파일이나 디렉터리에 어떤 작업을 할 수 있는지 표현하는 권한 목록이다.이 개념이 중요한 이유Docker 컨테이너가 정상적으로 실행되고 NAS 폴더가 컨테이너에 마운트됐는데도 Permission denied가 발생할 수 있다.이때 흔히 다음과 같이 생각하기 쉽다.“컨테이너 안에 mcp라는 사용자가 있고 비루트로 실행했으니 권한 설정이 끝난 것 아닌가?”하지만 Linux 파일시스템은 대부분 사용자 이름보다 숫자 UID와 GID를 기준으로 접근 권한을 판단한다. 컨테이너 안의 사용자 이름과 Synology DSM의 사용자 이름이 같아 보여도 숫자 ID가 다르면 같은 신분으로 취급되지 않는다.이 ..
Docker의 Cilent-Server 아키텍처 도커를 이용하여 환경을 구축을 하다보면 위 그림과 비슷한 형태의 아키텍처를 따른다. Docker 시스템 유닛은 크게 3개로 분리되어, Client, Host(Daemon), Registry를 이룬다. 대부분의 현대 CI 도구들(travis, circle, gocd, jenkins)등이 agent를 통해 docker관련 Task를 수행을 하기 때문에 docker daemon은 호스트머신에서 동작하면서 컨테이너로 동작하는 agent들이 docker-client역할을 하는 경우가 많다. 그래서 데브옵스 개발자들은 쉽게 daemon과 client의 분리를 고려하며 docker container에서 agent가 호스트 머신에 위치한 docker daemon에게 어떻..
이 둘을 비교한다는 것은 Dokcer Swarm 과 Kubernetes를 비교하는 것을 말한다. 도커 = 이미지 생성, 관리, 탄력적인 확장성, 격리, 이식성 쿠버네티스 = 오케스트레이션 중점, 복잡한 앱, 확장성과 복구성이 중요한 앱 도커란? 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼' 이다. 컨테이너는 애플리케이션 & OS앱을 구동하는 환경을 격리한 공간을 뜻한다. 자원을 필요한 만큼 격리하여 컨테이너에 할당(Host 운영체제와 자원 공유) 효율적 배포가 빠름 쿠버네티스란? 쿠버네티스는 '컨테이너 오케스트레이션 툴' 이다. 다른 컨테이너 오케스트레이션 툴로 'Docker Swarm', 'ECS', 'Nomad' 등이 있다. ..
도커는 운영체제 수준의 가상화 기법을 사용한다. 운영체재 내에서 응용 프로그램 대상으로 폐쇄되고 제한되어 분리된 환경을 제공하는 것이다. 컨테이너 화(Containerization) 컨테이너 기반 가상화를 가상 머신 기반 가상화와 구별하기 위해 때로는 가상화 대신 컨테이너화 라는 용어를 사용한다. 컨테이너의 이해 컨테이너는 운영체제의 가상화 기법을 이용해 경량의 가상화를 제공한다. 다양한 기능 중에서 네임스페이스(Namespace)와 Cgroup(Control-group)이 중요한 역할을 제공한다. 네임스페이스 격리(Namespace Isolation) 네임스페이스 격리 또는 네임스페이스는 프로세스 상에서 사용하는 특정 자원에 대한 가시성을 제한하기 위해 리눅스 커널에 구현된 기능이다. 별도의 네임스페이..