티스토리 뷰
https://choboit.tistory.com/89
[설치]
1. Docker의 실행환경
Docker는 Linux OS에서 실행된다. Windows나 Mac과 같은 OS 환경에서는 Docker가 자동으로 Linux 가상 머신을 구축하고 그 위에 Container들이 돌아갈 수 있도록 설정해준다. 대신 Linux OS에서 돌릴 때보다는 효율이 낮다.
2. Docker 설치방법
docker.com에서 애플 실리콘칩을 쓰는 버전으로 데스크탑 앱 다운로드
3. Docker Image Pull
Container를 가지고 있는 Image를 Docker Hub에서 다운 받는 것을 의미한다.
Image에서 Container를 활성화 시키는 것을 Run이라 한다.
4. Container Run
Container를 클릭하면 출력하는 로그들을 볼 수 있다. 모두 호스트 PC의 자원을 사용하는 것이다. 따라서 계속 켜두게 된다면 해당 자원이 계속 사용되는 중인 것이기 때문에 Contrainer를 사용하지 않을 때는 잠시 꺼두는 것이 좋다.
5. Container Run in Terminal
Desktop이 아닌 Terminal 명령어로 Docker Container를 Run 해보자.
https://velog.io/@bbangi/Docker-%EC%83%9D%EC%84%B1-%EC%8B%A4%ED%96%89-%EC%A2%85%EB%A3%8C
[기본 명령어]
- 컨테이너 생성
$ docker create [image]
- 컨테이너 시작 [container]에는 container 이름을 쓰거나 id 사용 가능
$ docker start [container]
- 컨테이너 시작
$ docker run
- 실행중인 컨테이너 상태 확인
$ docker ps
$ docker ps -a //컨테이너 전체 상태 확인
- 컨테이너 상세 정보 확인
$ docker inspect [container]
- 컨테이너 일시중지
$ docker pause [container]
- 컨테이너 재개
$ docker unpause [container]
- 컨테이너 종료
$ docker stop $(docker ps -a -q)
- 컨테이너 강제 종료
$ docker kill [container]
- 컨테이너 삭제
$ docker rm [container]
- 중지된 모든 컨테이너 삭제
$ docker container prune
[도커의 개념]
1. 용어 정리
1) 컨테이너: 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술
2) 컨테이너 런타임: 컨테이너를 다루는 도구
3) 도커: 컨테이너를 다루는 도구 중 가장 유명한 것
4) 쿠버네티스: 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구
=> 여러 서버에 컨테이너를 분산해서 배치하거나 문제가 생긴 컨테이너를 교체하거나 컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입해주는 일을 한다.
5) 오케스트레이션: 여러 버에 걸친 컨테이너 및 사용하는 환경 설정을 관리하는 행위
2. 애플리케이션 배포 환경 변화
1) 전통적인 배포 방식: 물리적인 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식
=> H/W | O/S | App
2) 가상화된 배포 방식: 가상머신을 기반으로 배포하는 것으로 하이퍼바이저는 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해주는 중간계층이다. app은 실행 프로그램, bin/library는 프로그램이 실행하는데 필요한 환경과 관련된 파일
=> H/W | O/S | Hypervisor | VM(App/Bin/Library/OS)
3) 컨테이너 배포 방식: 중간계층인 하이퍼바이저를 Container Runtime을 대체하고 VM은 Container로 대체하는 방식. 각각의 프로그램들이 각각 하나의 컴퓨터를 사용하는 것과 같은 효과를 가질 수 있어 CPU/메모리 등의 자원을 효율적으로 관리할 수 있다.
=> H/W | O/S | Container Runtime | Container(App/Bin/Library)
'Docker & k8s' 카테고리의 다른 글
Docker 개념 (1) | 2024.01.25 |
---|---|
Docker 강의 목차 (0) | 2023.12.01 |
[Docker 2판] 2장. 컨테이너 기술과 Docker의 개요 (0) | 2023.08.04 |
[Docker 2판] 1장. 시스템과 인프라 기초 지식 (0) | 2023.08.04 |
1. Docker 개념 (0) | 2023.04.24 |