** Docker
: Go 언어로 작성된 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼
: 가상 머신처럼 독립된 실행환경을 만들어줌 -> 운영체제를 설치하는 것과 유사하지만 실제로 설치하는 것은 아니기 때문에 용량이 작고 실행 속도가 빠름
: VM Ware 대체
- Container(메모리 상에서 실행되는 일종의 프로세스)
: 리눅스/windows와 Host OS 기반에서 docker가 운영되고, Container 별 각각 process 단위의 bin/libs가 구동됨
-> 실제로 Guest OS를 설치하지 않아 속도가 빠름
- Virtual machine
: Hypervisor 위에 full Guest OS(리눅스/윈도우)가 올라오면 이걸 기반으로 bin/libs가 구동됨
: full OS로 구동되어 overahead(부하)가 높다
----> 차이 : Guest OS 설치 여부 (Container는 설치 X)
* Docker = Docker Server + Docker Client
- Docker Images : read only의 docker container를 생성하기 위한 template
-> 하나의 Docker images로 유사한 Docker container(프로세스)를 여러 개 만들 수 있음
- Docker Container : images가 실제 메모리에 로딩된 instance
- Registry : Docker heb -> images의 저장소
::: Client에서 docker build, pull, run -> docker_host -> host 내에서 images -> container 만든다 + resistry에 저장된 images를 -> host의 images로 불러오는 것도 가능
* Docker 설치환경
: 윈도우10 home이랑 pro 차이 ---> Hyper-V 기능 지원 여부!
나는 home이기 때문에 ---> WSL2(Windows Subsystem for Linux 2)를 사용한다
1. cmd를 관리자 권한으로 실행
2. 아래 커맨드 실행해 Linux용 Windows 하위 시스템 옵션 활성화
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
완료됐으면
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
완료됐으면
3. 재부팅 (따로 재부팅하라고 안 해도 걍 하기)
4. x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지 다운 후 설치
5. cmd에서 아래 커맨드 실행 -> WSL2를 기본 버전으로 설정
C:\WINDOWS\system32> wsl --set-default-version 2
- Docker 버전 확인 : cmd에서 docker version
- Docker 실행 환경 확인 : cmd에서 docker system info
- Docker 디스크 이용 상황 확인 : docker system df
* Docker 개발 환경
docker hub: 여러가지 이미지가 저장되는 장소 (registry)
--> host(사용자)가 pull로 이미지를 받아옴 -> run -> docker container가 생성되어 실행
이미지는 apache, php, mysql 등... 원하는 걸 받아서 사용하는 것임
+) 역으로 내쪽에서 프로젝트를 hub에 push하는 것도 물론 가능함!
이미지를 받아 사용하는 건 회원가입하지 않아도 돼... 만약에 내쪽에서 푸시할거면 그땐 해야됨
* 이미지 다운로드
hub 사이트https://hub.docker.com/에서 이미지를 검색한다 -> download -> 상세페이지에 주소값이 나온다 Copy and paste to pull this image 아래 있는 흰 글씨!
- 단순히 다운로드만 : docker pull hello-world
- 다운로드 및 실행 : docker run hello-world
---> run으로 실행했을 때 Hello from Docker! 가 뜨면 정상적으로 pull한 것!
- 로컬에 있는 이미지 목록 출력 : docker images 또는 docker image is [옵션명][레포지토리명]
~~~ ubuntu도 가져와보자 ~~~
- 다운로드만 먼저 하고 그 다음에 실행하려면
다운: docker pull ubuntu
실행: docker run -it ubuntu /bin/bash
+) 참고! 버전이 여러개일 경우 docker run -it centos:7 /bin/bash 형태로 버전 표시!
- cmd에서 hub 이미지 검색 : docker search ubuntu
- 최신 버전의 이미지 다운(실행) : docker pull(run) centos:latest
- 컨테이너 상태 확인 : docker ps -a
+)참고! 상태 확인에서
docker ps : 현재 실행중인 이미지 목록
docker ps -a : 이전에 실행했던 이미지까지 포함된 목록
~~~ centos 까지 받기 ~~~
(참고! 특정 버전을 받고 싶으면 docker pull centos:7 )
다 끝내고 이미지 출력하면 이렇게 되어있을 것
'수업 > 정리' 카테고리의 다른 글
220523 Docker -3 허가권, 저장 (0) | 2022.05.23 |
---|---|
220520 Docker -2 명령어, Linu (0) | 2022.05.21 |
220518 파이썬 문법7 - 리스트 함수, 튜플, set (0) | 2022.05.18 |
220517 파이썬 문법6 - 문자열 함수, 리스트 (0) | 2022.05.18 |
220516 파이썬 문법5 - 반복문, 문자열 (0) | 2022.05.18 |