troubleshooting: Docker 컨테이너 사용자 매핑 불일치 문제 분석
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
dab018f79d
commit
811f9a9edb
45
troubleshooting/250924_happybell80_container_user_mapping.md
Normal file
45
troubleshooting/250924_happybell80_container_user_mapping.md
Normal file
@ -0,0 +1,45 @@
|
||||
# Docker 컨테이너 사용자 매핑 불일치 문제
|
||||
|
||||
**날짜**: 2025-09-24
|
||||
**작성자**: happybell80
|
||||
**증상**: robeing 계정에서 Docker 외부 프로세스 실행으로 오인됨
|
||||
|
||||
## 문제 상황
|
||||
|
||||
- `ps aux | grep "^robeing"`으로 robeing 계정 프로세스 확인 시 2개 발견
|
||||
- skill-slack과 skill-embedding 컨테이너가 robeing(UID 1000) 계정으로 매핑됨
|
||||
- 다른 컨테이너들은 root나 UID 999로 실행
|
||||
|
||||
## 원인 분석
|
||||
|
||||
Docker 컨테이너의 사용자 매핑이 일관되지 않음:
|
||||
|
||||
```bash
|
||||
# 각 컨테이너의 실제 사용자 확인
|
||||
docker top rb8001 # root
|
||||
docker top skill-email # root
|
||||
docker top robeing-skill-news # root
|
||||
docker top robeing_monitor # UID 999
|
||||
docker top skill-slack # robeing (UID 1000)
|
||||
docker top skill-embedding # robeing (UID 1000)
|
||||
```
|
||||
|
||||
## 해결 과정
|
||||
|
||||
1. **Docker 컨테이너 확인**: `docker ps`로 정상 실행 확인
|
||||
2. **프로세스 추적**: `sudo pwdx <PID>`로 작업 디렉토리가 `/app`임을 확인
|
||||
3. **컨테이너 내부 확인**: `docker top <container>`로 사용자 매핑 파악
|
||||
4. **Docker 환경 확인**: `/proc/<PID>/root/.dockerenv` 존재 확인
|
||||
|
||||
## 교훈
|
||||
|
||||
1. **로그 확인 순서 준수**: 실시간 → 컨테이너 내부 → 백업 → Docker JSON
|
||||
2. **사용자 매핑 일관성**: 모든 컨테이너가 동일한 사용자 정책 적용 필요
|
||||
3. **추측 금지**: 로그 확인 없이 "Docker 외부 실행"이라 단정하면 안됨
|
||||
4. **도구 활용**: `docker top`으로 컨테이너별 사용자 매핑 확인 필수
|
||||
|
||||
## 권장사항
|
||||
|
||||
- 모든 컨테이너의 사용자 매핑을 통일하여 혼동 방지
|
||||
- 프로세스 분석 시 반드시 `docker top`으로 컨테이너 여부 확인
|
||||
- 시스템 관리 시 모든 로그 위치 체계적 확인 필요
|
||||
Loading…
x
Reference in New Issue
Block a user