
컨테이너 이미지는 말 그대로 컨테이너를 만들기 위한 설계도입니다.
우리가 소프트웨어를 실행할 때 필요한 OS, 라이브러리, 코드, 설정파일 같은 걸 다 포함하고 있음.
이 이미지를 기반으로 컨테이너를 실행하면, 마치 가상 머신처럼 작동하지만 훨씬 가볍고 빠르게 돌아갑니다.
쉽게 말하면?
- 이미지: 설계도 (read-only)
- 컨테이너: 이미지로 찍어낸 실행 중인 인스턴스 (read-write)
운영체제에 따라 설치 방법이 다르지만, 가장 간단한 방법은 Docker 공식 홈페이지에서 설치
brew install --cask docker
설치 후, 런치패드에서 Docker를 실행하세요. 고래 아이콘이 활성화되면 준비된거임
docker pull ubuntu
docker images
예시 출력:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest abc12345def6 2 days ago 77MB
docker rmi ubuntu
docker run -it ubuntu
-i: interactive 모드, 즉 입력 가능-t: 터미널을 열어줌-it 같이 붙여서 bash나 sh로 접속할 때 씀.예시: bash 쉘에서 Ubuntu 컨테이너 사용하기
docker run -it ubuntu bash
docker run -d --name myweb nginx
-d: detach의 약자, 백그라운드로 실행함--name: 컨테이너 이름을 직접 지정할 수 있음컨테이너 안에서 일어난 일들을 확인하고 싶을 때 logs 명령어를 사용함.
docker logs myweb
myweb은 실행 중인 컨테이너 이름docker logs -f myweb
-f: follow, 로그를 실시간으로 계속 확인함 (tail -f 처럼)이미 실행 중인 컨테이너 안으로 직접 들어가고 싶을 땐 exec 명령어를 사용.
docker exec -it myweb bash
-i -t: 역시 인터랙티브 터미널bash: bash 쉘로 접속만약 bash가 없고 sh만 있다면?
docker exec -it myweb sh
컨테이너 안에 진입하면, 마치 리눅스 서버에 ssh 접속한 것처럼 조작 가능!
| 명령어 | 풀네임 / 의미 | 설명 |
|---|---|---|
| pull | pull image | 이미지를 Docker Hub에서 끌어오기 |
| run | run container | 컨테이너 생성 + 실행 |
| -i | interactive | 입력 허용 (stdin 열기) |
| -t | tty | 터미널 모드 사용 |
| -d | detach | 백그라운드로 실행 |
| logs | logs | 로그 확인 |
| exec | execute | 컨테이너 안에서 명령 실행 |
| rmi | remove image | 이미지 삭제 |
| images | (복수형) image 목록 보기 | 로컬에 저장된 이미지 리스트 확인 |