맞아, 맞는 말이야.
도커(Docker)를 제대로 쓰려면 리눅스 명령어를 어느 정도 알아야 돼.
왜냐면 도커는 기본적으로 리눅스 컨테이너 기술(Linux Containers, LXC) 기반이고,
컨테이너 안도 결국 리눅스 환경이라서, 다음 같은 작업을 하게 되거든:
docker exec로 컨테이너 안에 들어가서 → ls, cd, cat, vim 같은 명령어로 파일/폴더 관리docker build할 때 → Dockerfile에서 RUN apt-get update, RUN mkdir 이런 리눅스 명령어 사용chmod, chown 같은 것도 다뤄야 하고ps, top, kill 써야 하고cat, tail -f 같은 것도 써야 하고cp, mv, rm, mkdir 이런 기본 명령어 써야 하고ping, curl, netstat, ss 이런 거 필요해요약
👉 도커 자체 명령어 (docker run, docker ps, docker exec, docker build, docker-compose up)만 쓰는 건 별로 어렵지 않은데,
👉 컨테이너 안을 다루거나 디버깅 하려면 리눅스 명령어를 좀 알아야 실력이 붙어.
좋아, 깔끔하게 정리해줄게!
"도커 쓸 때 진짜 많이 필요한 리눅스 명령어 리스트" 여기다 정리한다.
(도커 실무 + 컨테이너 다룰 때 기준으로 골랐어.)
ls : 현재 디렉토리 파일 목록 보기cd : 디렉토리 이동pwd : 현재 경로 확인mkdir : 새 디렉토리 생성touch : 새 파일 생성cp : 파일/디렉토리 복사mv : 파일/디렉토리 이동 (또는 이름 변경)rm : 파일/디렉토리 삭제 (rm -rf 조심)cat 파일명 : 파일 내용 한번에 출력less 파일명 : 파일을 페이지로 나눠서 보기 (q로 종료)tail -f 파일명 : 파일 마지막 줄 계속 실시간 보기 (로그 확인할 때 필수)vim 파일명 : 파일 수정 (편집기, 조작법은 따로 익혀야 함)(컨테이너 안 OS가 Ubuntu/Debian 계열이면)
apt-get update : 패키지 목록 업데이트apt-get install 패키지명 : 새 프로그램 설치apt-get remove 패키지명 : 프로그램 삭제(Redhat/CentOS 계열이면 yum 명령어 사용)
chmod : 파일/폴더 권한 변경chown : 파일/폴더 소유자 변경whoami : 현재 로그인한 사용자 확인ps aux : 현재 실행 중인 프로세스 목록 보기top : 실시간 리소스/프로세스 모니터링kill PID : 특정 프로세스 강제 종료kill -9 PID : 강제 종료 (강력한 kill)ping 주소 : 네트워크 연결 확인curl 주소 : 웹 서버 응답 확인 (API 테스트할 때 유용)netstat -tuln 또는 ss -tuln : 포트 열려 있는지 확인df -h : 디스크 사용량 확인du -sh 디렉토리명 : 디렉토리 크기 확인history : 이전에 쳤던 명령어 기록 보기clear : 터미널 화면 깨끗이 지우기| 목적 | 명령어 |
|---|---|
| 컨테이너 안 파일 보기 | docker exec -it 컨테이너명 ls /경로 |
| 컨테이너 안으로 접속 | docker exec -it 컨테이너명 /bin/bash 또는 /bin/sh |
| 컨테이너 안 로그 보기 | docker logs 컨테이너명 |
| 컨테이너 안 서비스 확인 | ps aux, netstat, curl localhost:포트 |
좋은 질문이다.
"커널(kernel)" — 이 단어도 도커 쓰면서 진짜 많이 듣게 될 거야.
(리눅스 공부하거나, 서버 다룰 때는 더더욱.)
핵심만 깔끔하게 설명해줄게.
운영체제(OS)의 심장부.
컴퓨터 하드웨어(메모리, CPU, 디스크 등)와 소프트웨어(프로그램) 사이를 중간에서 관리하고 제어하는 가장 핵심적인 부분.
정리
👉 프로그램은 직접 하드웨어를 만지지 않고,
👉 커널을 통해서만 하드웨어를 조종할 수 있다.
도커는 사실상 **"리눅스 커널의 기능"**을 이용해서 돌아간다.
특히 여기!
| 커널 기능 | 도커에서 쓰는 부분 |
|---|---|
| Namespace (네임스페이스) | 각 컨테이너마다 고립된 환경 제공 (ID, 네트워크 등) |
| Cgroups (컨트롤 그룹) | 컨테이너별로 CPU/메모리 사용량 제한 |
| UnionFS (파일시스템) | 도커 이미지 계층 구조 관리 (레이어 쌓기) |
요약하면
👉 도커 = 리눅스 커널의 기능을 활용해서
👉 진짜 가상머신(VM) 없이, 가볍게 가짜 시스템처럼 "컨테이너"를 만들어주는 기술.
그래서
| 상황 | 커널이 왜 나옴? |
|---|---|
| 컨테이너가 갑자기 꺼짐 | 메모리 초과(OOM), 커널이 강제 종료했을 수 있음 |
| 시스템 느려짐 | 커널이 스왑(Swap) 처리 중일 수 있음 |
| 컨테이너끼리 격리 문제 | 네임스페이스 설정(커널 기능) 이상일 수 있음 |
| 보안 설정 강화 | 커널 레벨의 보안 설정(Seccomp, AppArmor 등) 건드림 |
| 도커 설치 | 특정 커널 버전 이상 필요 (리눅스 커널 3.10 이상 추천) |
혹시
✅ "리눅스 커널 버전 확인하는 명령어"
✅ "커널 관련 진짜 많이 쓰는 리눅스 명령어"
✅ "Namespace랑 Cgroups 완전 쉬운 버전 설명"
이것들도 정리해줄까?
(요거 알면 도커 한 단계 더 편하게 쓸 수 있어!)
필요하면 말해줘 ✨🚀
좋아, 바로 깔끔하게 정리해줄게.
"커널 관련 진짜 많이 쓰는 리눅스 명령어" — 도커 쓸 때도, 서버 다룰 때도 꼭 알면 좋은 것들 위주야.
uname -r
5.15.0-1067-azure)uname -a
모듈 = 커널 기능을 확장하는 조각 (필요할 때 불러다 씀)
lsmod
modinfo 모듈이름
modprobe 모듈이름
rmmod 모듈이름
시스템 동작을 세밀하게 조정할 수 있어. 예를 들면, 메모리 관리, 파일 핸들 수 제한 등.
sysctl -a
sysctl 키=값
sysctl net.ipv4.ip_forward=1 → IP 포워딩 활성화)cat /etc/sysctl.conf
top
vmstat 1
free -h
dmesg
lscpu
lsblk
lspci
lsusb
| 목적 | 명령어 |
|---|---|
| 커널 버전 확인 | uname -r |
| 현재 모듈 확인 | lsmod |
| 모듈 상세 정보 | modinfo 모듈이름 |
| 모듈 적재 | modprobe 모듈이름 |
| 모듈 제거 | rmmod 모듈이름 |
| 커널 설정 보기/수정 | sysctl -a, sysctl 키=값 |
| 커널 로그 확인 | dmesg |
| CPU/메모리 상태 확인 | top, free -h, vmstat |
sysctl net.ipv4.ip_forward (네트워크 설정)sysctl kernel.pid_max (프로세스 ID 최대값)dmesg (컨테이너가 죽거나 이상 있을 때 커널 로그 확인)uname -r (커널 버전 확인, 호환성 문제 있을 때)👉 "uname, lsmod, sysctl, dmesg" 이 4개만 알아도
👉 커널 관련 문제 80% 이상 진단 가능하다.
추가로
혹시 필요하면 ✍️
이것도 정리해서 이어줄게! ✨
필요하면 "ㅇㅇ" 하고 알려줘! 😎🚀