Image & Container
Image
- 코드와 실행에 필요한 도구를 포함한 템플릿
- 컨테이너를 생성하기 위한 블루프린트
- 모든 설정 명령과 애플리케이션 코드를 포함하여 일관된 실행 환경을 제공
- DockerHub 에서 제공되는 이미지를 불러와 사용할 수 있다.
https://hub.docker.com
Container
- 이미지를 기반으로 실행되는 애플리케이션 인스턴스
- 이미지에서 파생된 구체적인 실행 환경
- 독립적으로 실행되는 소프트웨어 유닛
Docker 기초 명령어
- Docker 명령은 docker run 과 같이 docker (cmd) 형식
- 항상 root 권한으로 실행
search
- 이미지 검색을 위한 명령어
- Docker Hub 를 통해 이미지를 공유하는 생태계가 구축됨
(base) ubuntu@DESKTOP-LIN23FS:~$ docker search node
>>>
NAME DESCRIPTION STARS OFFICIAL
node Node.js is a JavaScript-based platform for s… 13689 [OK]
circleci/node Node.js is a JavaScript-based platform for s… 133
cimg/node The CircleCI Node.js Docker Convenience Imag… 23
pull
- DockerHub 에서 이미지를 받기 위한 명령어
- 태그를 지정하거나 latest 를 이용해 최신 버전 다운 가능 (latest 가 default)
docker pull node
images
- 받은 이미지의 목록 출력
- 이름을 설정하면 같은 이름, 다른 태그의 이미지 출력
docker images
run
- 이미지를 통해 생성한 컨테이너를 실행
- -i (interactive), -t(Pseudo -tty) 를 사용해 bash shell 에 맞게 입출력 가능
- --name 으로 컨테이너 이름 지정
- --rm : 컨테이너 실행 종료시 삭제
docker run node
- 해당 컨테이너의 주소가 표시되고, OS 로부터 독립적인 공간이 생성됨
- exit 입력 시 컨테이너 실행 중지
ps
- 실행 중인 컨테이너 목록 출력
- -a : 실행 중이지 않은 컨테이너까지 모두 출력

- run 에서 --rm 옵션 유무의 차이를 ps -a 를 통해 확인 가능
컨테이너 시작, 접속, 정지
- start : 컨테이너 실행 시작
- attach : 실행 중인 컨테이너에 접속
- stop: 컨테이너 실행 중지

삭제 명령어
- rm : 컨테이너 삭제
- rmi : 이미지 삭제
