반응형
1. Docker 이미지의 구조
이미지는 프로그램을 실행하는데 필요한 모든 것을 담고 있다.
컨테이너가 시작할때 필요한 명령어 + 파일 스냅샷이 필요하다.
* 파일 스냅샷 : 디렉토리나 파일을 카피한것.
2. Docker 이미지로 컨테이너를 만드는 순서
- Client에서 "docker run youtube"을 실행한다.
- 명령어를 docker server로 전송한다.
- 먼저 이미지 cache 저장소에 있는지 체크하여, 미리 사용했던 이미지가 있으면 cache에 있는 이미지를 사용하고 없으면 Docker Hub에서 검색하여 가져온다.
- 가져온 이미지를 가지고 컨테너를 만들게 되는데, 프로그램을 실행하는 명령어를 컨테이너에 넣어주고 파일 스냅샷은 컨테이너에 할당된 하드디스크에 적재해준다.
- 컨테이너를 실행하게 되면 이미지로부터 가져왔던 명령어가 실행된다.
3. 도커 이미지 파일 구조
(1) 도커 이미지파일 구조를 보기 위한 명령어 예시.
docker run alpine ls
- docker : 도커를 사용하기 위해 도커 클라이언트 언급
- run : 컨테이너 생성 및 실행
- alpine : 컨테이너 실행을 위한 이미지 파일
- ls : 여기에선 파일리스트를 보는 ls명령어를 예시로 들었을 뿐이다.
** 도커의 네번째 자리 옵션은 이미지 시작 명령어를 무시하고 네번째 자리의 커맨드를 실행하도록 하는 옵션이다.
(2) 예시
A는 이미지파일 안에 ls 명령어를 사용할 수 있는 파일들이 들어있어서 실행 가능하고,
B는 워낙 간단한 이미지 파일이라 실행 가능한 파일이 없어서 에러가 난다.
4. Docker 컨테이너 리스트 확인
(1) 실행중인 도커 컨테이너 확인
docker ps
- ps : process status
(2) 모든 도커 컨테이너 확인
docker ps -a
(3) 도커 컨테이너 리스트 확인
- CONTAINER ID : 컨테이너 고유 아이디, 해쉬값. 원래는 길지만 일부만 표시됨.
- IMAGE : 컨테이너 생성시 사용한 도커 이미지.
- COMMAND : 컨테이너 시작시 실행될 명령어. (위 예시에서는 임의로 커맨드를 입력함)
대부분 이미지 안에 내장되어 있기 때문에 따로 설명 필요 없음. - CREATED : 컨테이너 생성 시간
- STATUS : 컨테이너의 상태. (Up = 실행중 / Exited = 종료 / Pause = 일시정지 )
- PORTS : 컨테이너가 오픈한 포트와 호스트에 연결한 포트. 별도 설정 필요.
- NAMES : 컨테이너 고유한 이름.
컨테이너 생성시 --name 옵션으로 지정 가능.
반응형
'개발 일기라기 보단 메모장 > Docker' 카테고리의 다른 글
07. 도커(docker) 이미지 만들기 (0) | 2021.11.29 |
---|---|
06. 도커(docker) 컨테이너의 생명주기 및 사용법 (0) | 2021.11.17 |
04. 도커(Docker) 컨테이너란? (가상화 기술과의 비교) (0) | 2021.11.16 |
03. 도커(Docker) 실행 순서 (0) | 2021.11.16 |
02. 도커(Docker) 설치 방법 - MacOS (0) | 2021.11.16 |