티스토리 뷰
Docker란?
Docker는 소프트웨어를 컨테이너라는 독립적인 실행 환경에서 실행할 수 있게 해주는 플랫폼이다.
Docker는 개발, 배포, 실행 과정에서 일관성과 효율성을 제공한다.
Docker 엔진
- Docker 엔진은 Docker의 핵심 구성 요소로, 컨테이너의 빌드, 실행, 관리 등을 담당하는 소프트웨어이다.
- 주로 Docker CLI(명령줄 인터페이스)를 통해 사용자가 Docker 엔진과 상호작용한다.
- 엔진은 클라이언트와 서버로 구성되어 있으며, 클라이언트는 사용자 명령을 서버에 전달하고 서버는 이를 실행한다.
Docker의 장점
- 이식성(Portability): Docker 컨테이너는 운영 체제와 무관하게 어디서든 실행 가능
- 격리성(Isolation): 각 컨테이너는 독립적으로 실행되어 서로 영향을 주지 않음
- 효율성(Efficiency): 컨테이너는 가상 머신보다 가볍고 빠르게 실행된다. 또한, 컨테이너는 운영 체제 커널을 공유하므로 리소스 소비가 적음
- 버전 관리(Version Control): Docker 이미지는 불변이므로, 이미지를 버전 관리할 수 있어 애플리케이션의 배포 및 롤백이 용이
- 자동화 및 CI/CD 지원: Docker는 자동화된 배포 파이프라인에서 매우 유용하다. CI/CD 도구와 통합하여 애플리케이션의 빌드, 테스트, 배포를 자동화
Docker와 가상 머신 비교
- 가상 머신(VM): 가상 머신은 전체 운영 체제를 가상화하여 여러 가상 서버를 실행한다. 반면, Docker는 운영 체제의 커널을 공유하고 애플리케이션만을 컨테이너화한다.
- 리소스 소비: 가상 머신은 각 VM에 운영 체제가 포함되므로 리소스가 많이 필요하다. Docker는 커널을 공유하므로 훨씬 가볍고 빠르다.
- 속도: Docker 컨테이너는 가상 머신보다 빠르게 시작되며, 더 적은 리소스를 소모한다.
Docker의 사용 사례
- 개발 환경 통일: 개발자들이 동일한 개발 환경에서 작업할 수 있게 도와준다.
- 마이크로서비스 아키텍처: 여러 개의 독립적인 서비스를 각각 다른 컨테이너에서 실행하여, 애플리케이션을 유연하게 관리
- CI/CD 파이프라인: Docker는 지속적인 통합(CI) 및 지속적인 배포(CD) 파이프라인에서 사용되어 자동화된 테스트와 배포를 지원
- 서버 배포: 프로덕션 서버에서 애플리케이션을 실행할 때, Docker 컨테이너를 이용해 손쉽게 배포하고 관리
Docker 설치 방법
1. 쉘 실행
Windows PowerShell을 우클릭하여 관리자 권한으로 실행
관리자 권한으로 실행하지 않으면, 740 error (권한 없음)가 발생한다.
2. 쉘에 명령어 입력
아래 명령어를 순서대로 입력
Windows SubSystem Linux를 활성화시키는 명령어
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
VirtualMachinePlatform 기능을 활성화시키는 명령어
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
3. PC 재부팅
4. 쉘에 wsl 명령어 입력
> wsl
위와 같이 뜬다면
5. Microsoft Store에서 Ubuntu 설치하기
많은 버전들이 있지만, Ubuntu 20.04.6 LTS 버전을 다운받는다.
Windows 11 Pro에서 인기있는 버전이기 때문이다.
6. 리눅스 커널 업데이트 파일 다운로드
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
위 링크를 클릭하여 다운, Next 선택 후 설치
7. Ubuntu 20.04.6 LTS에서 name, pw 지정
더블클릭하여 열면 바로 name과 password를 설정할 수 있다.
8. Windows PowerShell에 명령어 입력
wsl 배포판 목록 및 버전 조회 명령어
> wsl -l -v
위와 같이 뜬다면 우분투 설치 성공!
9. Docker Desktop 다운
사실 위의 과정들을 진행하면, 이미 wsl이 있으므로 Docker Desktop을 다운받을 필요가 없다.
하지만, 간편한 UI와 손쉬운 사용을 위해 Desktop을 설치한다.
도커 데스크톱을 설치하면, Docker Desktop이라는 특수한 WSL 2 배포판이 설치되고, 이를 통해 WSL 2에서 도커 컨테이너를 실행할 수 있다.
Windows
Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.
docs.docker.com
위 사이트에 들어가서
Docker Desktop for Windows - x86_64 다운
10. Docker Desktop Installer.exe 실행
OK 클릭
설치가 완료되면 Close and log out 클릭하기 (PC 재부팅)
11. Docker Desktop 실행하기
도커 실행 후 Docker Engine Stopped 라고 뜬다면..?
작업관리자에서 도커 모두 종료 > 위에 2, 6번 과정 다시 한 번 진행 > 도커 열기
그럼 정상 실행된 것을 볼 수 있다!
12. Docker Desktop 환경설정
최상단에 톱니바퀴 > General 탭
Use the WSL 2 based engine 체크 안 되어있다면 체크 후 Apply & Restart 클릭
Reource 탭 > WSL Integration
Enable Integration with my default WSL distro 체크 안 되어있다면 체크 후 Apply & Restart 클릭
Docker 설치 테스트
wsl 배포판 목록 및 버전 조회 명령어
> wsl -l -v
위에서 말한대로 docker-desktop 배포판이 추가된 것을 볼 수 있다!
우분투에 명령어 입력
$ docker version
docker 서버와 클라이언트 정보를 확인할 수 있다.
$ docker ps
ps로 실행중인 컨테이너 확인해보기
아직 아무 컨테이너도 실행되지 않은 상태이다.
'Cloud' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Apache
- 티스토리챌린지
- 클라우드
- controller
- websquare
- google cloud run
- 그리드
- 알고리즘
- tomcat
- db
- 트리
- 톰캣
- BigDecimal
- docker앱배포
- Spring
- 오블완
- docker
- 웹스퀘어
- 백준알고리즘
- docker배포
- 백준
- docker컨테이너
- 자바
- Java
- MySQL
- 이클립스
- 노드
- SpringBoot
- dockerspring
- 백준자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |