컨테이너 = 다른 프로그램과 분리된 환경에서 실행. (실행 한다면 프로세스 read-write 가능)
컨테이너 이미지 = 컨테이너 실행을 위해 미리 준비돼야 함 (read-only만 가능 하나의 파일일 뿐)
허브 = 컨테이너 이미지가 저장된 창고(hub.docker.com)
호스트 컴퓨터에서 도커허브에 컨테이너 검색 및 요청 -> 컨테이너 이미지 다운로드 -> 컨테이너 실행
컨테이너 이미지는 여러개의 레이어로 이루어져 있다.
왜냐하면 그 이미지를 동작하기 위해 서로 의존할 것들이 필요한 파일들을 설치해 줘야 하기 때문에
그 한개 한개의 파일을 레이어 라고 부른다.
설치를 진행 하기 전 레이어가 저장 돼 있는 폴더인 /var/lib/docker/overlay2 디렉토리 확인
그 전에 시험상 생성해 놓은 이미지 파일의 레이어가 세개 저장 돼 있다.
오늘 실습할 내용은 Docker hub에서 컨테이너 이미지를 검색해서 , 이미지를 다운로드 받고,
1.Docker 컨테이너 이미지 검색
docker search [이미지명]
여러개의 도커 컨테이너 이미지 들이 나온다. 저중에 nginx를 설치할 것 이다.
그 전에 docker images 명령어를 통해 내가 현재 갖고 있는 도커 컨테이너 이미지 파일의 목록을 확인해 본다.
그 전에 테스트 삼아 만들어 놓은 하나의 이미지가 있다.
2.Docker 컨테이너 이미지 다운로드
docker pull [이미지명]
체크해 놓은 박스는 도커에서 다운받은 컨테이너 이미지가 몇 개의 레이어로 이루어져 있는지 보여준다.
nginx 이미지는 5개의 레이어로 이루어져 있다.
설치 완료 후 컨테이너 이미지 확인
nginx 컨테이너 이미지가 제대로 설치가 완료된 것을 확인 하였다.
또한 초반에 확인 했던 레이어 목록 저장 디렉토리안에 하위 디렉토리들이 늘어난 것을 확인 할 수 있다.
아직 이미지만 다운받은 것일 뿐 컨테이너화 된건 아니다 실행을 해줘야 한다.
3. 실행
doker run --name [이름] -d [백그라운드모드로] -p [포트번호] [실행할 컨테이너 이미지]
4. 현재 동작중인 Docker 프로세스 확인
docker ps
5. 클라이언트 에서 확인
curl localhost:80 (로컬호스트 컴퓨터:80번에 http접속)
*curl 명령어는 http 메시지를 쉘 상에서 요청하여 결과를 확인하는 명령어 이다.
6. 도커 컨테이너 중지
docker stop [이름]
web 컨테이너 중지후 다시 http 요청을 확인 하니 연결실패가 뜬다.
7. 컨테이너 이미지 삭제.
docker rm image [이름] 혹은
docker rmi image [이름]
삭제하면 /var/lib/docker/overlay2 디렉토리 안에 저장 돼 있던 레이어들까지 삭제 된 것을 확인 가능하다.
'Docker' 카테고리의 다른 글
컨테이너 보관 창고 - 이론 (0) | 2021.05.30 |
---|---|
Docker 컨테이너 만들기 - 실습 (0) | 2021.05.29 |
Docker 컨테이너 만들기 (이론) (0) | 2021.05.29 |
Docker 설치(CentOS,Ubuntu) (0) | 2021.05.26 |
도커(Docker)란? 사용하는 이유 (0) | 2021.05.25 |