일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 엑셀파일명변경
- newbingai
- firewalld
- vgcreate
- chmod
- chatGPT
- nmcli
- tar
- 랜카드인식불량
- ansible
- M365필터
- 같은폴더
- yum
- pvcreate
- vagrant kubernetes
- permission
- MSBing
- 프로세스
- docker image
- journalctl
- mount
- docker network
- ssh
- docker
- HTTPD
- 날짜변경
- 리다이렉션
- swapon
- lvcreate
- Kubernetes
- Today
- Total
becool
20210809 (월) container개념, docker 설치 본문
09:31 docker
가상화 (Virtualization)
하드웨어와 실행환경을 가상으로 구성하는 기술
HW+SW : HW - Kernel - OS - Lib., Runtime - App.
→ HW+SW : HW - Kernel - OS - Hypervisor - VM [ HW - Kernel - OS - Lib. - App. ]
중복된 OS와 App등으로 성능 저하.
→ HW+SW : HW - Kernel - OS - Container - VM [ App. ]
Guest OS 등을 간소화함으로써 독립/격리성을 제공하고 성능손실을 최소화
가상화의 종류
① 서버 가상화 : 가상 머신을 생성하여 관리하는 기술 (하드웨어 가상화)
② 네트워크 가상화 : 여러 호스트가 연결된 물리적인 네트워크를 가상화 하는 기술
③ 스토리지 가상화 : 여러개의 디스크 공간을 하나의 논리적인 드라이브 처럼 사용하는 기술 (Ceph, GlusterFS 등)
④ 컨테이너 가상화 : OS에서 논리적인 구획을 만들고 컨테이너 간 독립적으로 애플리케이션을 실행하는 환경
Linux Container (LXC) :
Linux 운영체제에서 Application을 격리하기 위한 컨테이너 기술
Linux 커널에 탑재되어 있음
Docker
Container를 실행할 수 있는 실행환경
Container 이미지를 생성, 배포하기 쉬운 환경을 제공
Docker 장점
서버를 코드 형태로 정의
높은 이식성
상호 운용성
이미지 : container에서 App. 이 실행되기 위한 환경을 구성하는 요소 - Application, Data, Library 등의 모임
컨테이너 : 이미지의 실행 형태, 이미지를 메모리에 적재하여 실행
저장소(Repository) : 컨테이너 이미지를 공유하기 위한 저장 공간. 용도에 따라 Public, Private 형태로 사용
기본 저장소는 도커에서 제공하는 Docker Hub를 사용. 필요에 따라 사설저장소를 운영하여 사용 가능
##### Docker 설치 ##### [user@host2 ~]$ cd /etc/yum.repos.d [user@host2 yum.repos.d]$ sudo wget https://download.docker.com/linux/centos/docker-ce.repo [sudo] password for user: --2021-08-09 11:54:29-- https://download.docker.com/linux/centos/docker-ce.repo Resolving download.docker.com (download.docker.com)... 54.230.62.109, 54.230.62.14, 54.230.62.39, ... Connecting to download.docker.com (download.docker.com)|54.230.62.109|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1919 (1.9K) [binary/octet-stream] Saving to: ‘docker-ce.repo’ 100%[==============================================================================>] 1,919 --.-K/s in 0s 2021-08-09 11:54:29 (112 MB/s) - ‘docker-ce.repo’ saved [1919/1919] [user@host2 yum.repos.d]$ ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo docker-ce.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo virtualbox.repo [user@host2 yum.repos.d]$ yum install docker-ce docker-ce-cli containerd.io -y [user@host2 yum.repos.d]$ sudo hostnamectl set-hostname docker-host0 [user@host2 yum.repos.d]$ sudo -i [root@docker-host0 ~]# systemctl start docker [root@docker-host0 ~]# systemctl enable docker [root@docker-host0 ~]# usermod -a -G docker user [user@docker-host0 docker]$ docker search mysql [user@docker-host0 docker]$ docker search httpd [user@docker-host0 docker]$ docker pull httpd [user@docker-host0 docker]$ docker pull alpine:3.13.1 [user@docker-host0 docker]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE httpd latest bde40dcb22a7 3 days ago 138MB hello-world latest d1165f221234 5 months ago 13.3kB alpine 3.13.1 e50c909a8df2 6 months ago 5.61MB centos latest 300e315adb2f 8 months ago 209MB |
Docker 컨테이너 이미지 검색, 다운로드
$ docker search IMAGE : 컨테이너 이미지 검색 (빌드 자동화 여부, 공식여부)
$ docker pull IMAGE : 컨테이너 이미지 다운로드
$ docker images : 현재 가지고 있는 이미지 리스트 출력 (repository, TAGS)
→ 하나의 repository 안에 여러개의 이미지가 들어가 있음.
Docker 컨테이너 이미지 검색
$ docker search 이미지
NAME - 컨테이너 이름
DESCRIPTION - 설명
STARS - 평점
OFFICIAL - 공식 이미지 여부
AUTOMATED - 자동화 빌드 여부
Docker 컨테이너 이미지 다운로드
$ docker pull 이미지
Docker 컨테이너 이미지 목록 확인
$ docker images
REPOSITORY - 컨테이너 이미지 이름(이미지가 저장되는 Repository 이름)
TAG - 컨테이너 세부 이미지를 구분하기 위한 이름
IMAGE ID - 컨테이너 이미지를 고유하게 구분하기 위한 ID
CREATED - 컨테이너 이미지 생성 시기
SIZE - 컨테이너 이미지의 용량
$ docker images 컨테이너이미지
Docker 컨테이너 이미지 삭제
$ docker image rm 이미지
Docker 컨테이너 실행 (컨테이너가 없을 때 최초 실행)
docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
$ docker container run --name -i -t CONTAINER_NAME IMAGE COMMAND
$ docker container run -i -t --name centos7 centos:7 /bin/bash
CentOS 이미지에서 bash shell 실행 (Foreground)
docker container run -i -t --name centos7-1 centos:7 /bin/bash
CentOS 이미지에서 bash shell 실행 (Background)
docker container run -d -t --name centos7-2 centos:7 /bin/bash
Docker 컨테이너 실행 (컨테이너가 존재하는 경우)
docker container start CONTAINER_NAME
Docker 컨테이너 중지
docker container stop CONTAINER_NAME
Docker 컨테이너 제거
docker container rm CONTAINER_NAME
Docker 컨테이너 Attach
docker container attach CONTAINER_NAME
Docker 컨테이너 CPU, RAM 사용량 정보
docker container stats
'docker' 카테고리의 다른 글
20210813 (목) dockerfile, 멀티 스테이지 빌드, 사설레지스트리 (0) | 2021.08.13 |
---|---|
20210812 (목) image build, Dockerfile (0) | 2021.08.12 |
20210811 (수) docker network, volume (0) | 2021.08.11 |
20210810 (화) docker 명령어 (0) | 2021.08.10 |