일주일간 진행했던 <AWS DevOps Discovery Book> 을 마치고
오늘부터 Docker&Kubernetes를 진행합니다.
이론 및 실습 병행 ~59p
도커(Docker)는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다:
도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.
도커는 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공한다. 도커는 cgroups와 커널 이름공간과 같은 리눅스 커널, 또 aufs와 같은 유니언 가능 파일 시스템의 리소스 격리 기능을 사용하며, 이를 통해 독립적인 "컨테이너"가 하나의 리눅스 인스턴스 안에서 실행할 수 있게 함으로써 가상 머신을 시작하여 유지보수해야 하는 부담을 없애준다.
- 출처 : 위키백과 -
* 도커 이미지
이미지는 컨테이너를 생성할 때 필요한 요소이며, 가상 머신을 생성할 때 사용하는 iso 파일과 비슷한 개념입니다.
도커에서 사용하는 이미지의 이름은 기본적으로 [저장소 이름]/[이미지 이름]:[태그(이미지버전)]의 형태로 구성됩니다.
*도커 컨테이너
이미지로 컨테이너를 생성하면 해당 이미지의 목적에 맞는 파일이 들어 있는 파일시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성되고, 이것이 바로 도커 컨테이너가 됩니다.
대부분의 도커 컨테이너는 생성될 때 사용된 도커 이미지의 종류에 따라 알맞은 설정과 파일을 가지고 있기 때문에 도커 이미지의 목적에 맞도록 사용되는 것이 일반적입니다.
* 컨테이너 생성
#docker run -i -t ubuntu:14.04 // ubuntu:14.04 이미지로 컨테이너를 생성하고 실행하는 명령어
docker run 명령어로 컨테이너를 생성할 때 -i 옵션으로 상호 입출력을, -t 옵션으로 tty를 활성화해서 배시(bash) 셸을 사용하도록 컨테이너를 설정했습니다. docker run 명령어에서 이 두 옵션 중 하나라도 사용하지 않으면 셸을 정상적으로 사용할 수 없습니다.
.
# docker create -i -t --name mycentos centos:7 // centos:7 이미지로 컨테이너를 생성.
// --name 옵션에는 컨테이너의 이름을 설정합니다.
---> run과 create 명령어의 차이
run 명령어 : docker pull(이미지가 없을 때) > docker create > docker start > docker attach
create 명령어 : docker pull(이미지가 없을 때) > docker create
* 이미지 내려받기
#docker pull centos:7 // centos:7 이미지를 내려받습니다.
* 컨테이너 시작
#docker start mycentos
mycentos
* 컨테이너 내부로 들여보내기
#docker attach mycentos
[root@dd06c5cb6bf4 /]#
* 컨테이너 상태 확인
#docker ps
// 실행중인 컨테이너의 목록만 표시(exit로 나온 컨테이너는 정지된 상태로 표시되지 않음)
// ctrl + P, Q는 컨테이너를 실행상태로 빠져나올 수 있음
#docker ps -a
// 컨테이너의 전체 목록 표시
// 'Up' : 실행 중 'Exited' : 종료된 상태 'Pause' : 일시 중지된 상태
* 컨테이너 삭제
#docker rm mycentos
// 실행 중인 컨테이너는 삭제되지 않음
#docker rm -f mycentos
// 실행 중인 컨테이너 삭제 가능
#docker container prune
// 모든 컨테이너 삭제
'TIL (Today I Learned)' 카테고리의 다른 글
2021-04-19 : TIL (0) | 2021.04.19 |
---|---|
2021-04-08 : AWS (0) | 2021.04.08 |
2021-03-29 : GCP (0) | 2021.03.29 |
2021-03-16 : Azure (0) | 2021.03.16 |
2021-03-15 : Azure (0) | 2021.03.15 |
댓글