Docker 란?
- 하나의 컨테이너 안에 개발한 어플리케이션을 실행하기 위한 모든 환경설정, 디펜던시, 시스템툴 등을 묶어서 다른 서버나 pc에서 사용할 수 있음
- 컨테이너 엔진 종류 중 가장 인기 있는 것이 도커
VM(Virtual Machine:가상머신)과 차이점
가상 컴퓨터는 하나의 물리적 pc에서 가상의 os를 나누어 사용하지만, 도커는 도커엔진에서 여러개의 컨테이너를 독립적으로 실행하기때문에 pc 성능에 영향이 없음
VM은 운영체제를 포함하지만 컨테이너는 컨테이너 엔진에 포함된 Host OS를 공유하는 형태
컨테이너를 만들기 위해 아래 3가지가 필요
1. Dockerfile
어플리케이션을 구동하기 위해 copy할 파일
프레임워크나 라이브러리, 외부디펜던시 설명
환경변수
구동원리 스크립트
디펜던시
2. Image
어플리케이션 실행을 위한 코드, 런타임 환경 시스템, 툴 시스템, 라이브러리 등 모든 세팅 상태를 캡처하는 개념(변경 불가한 상태)
Container
어플리케이션 이미지를 고립된 환경에서 (개별적인 파일 시스템)안에서 실행
- 동작중인 어플리케이션을 스샷하여 템플릿형태로 이미지를 만들고 이 클래스 이미지를 이용해서 어플리케이션이 동작하는 각각의 컨테이너를 만들 수 있음
- Image는 원본이기에 불변하고, 각 컨테이너에서 필요에 따라 그 이미지에 대한 수정이 가능(기존 Image에 1도 영향을 주지 않으면서 컨테이너 내에서는 Image를 각각 커스터마이징 할수있단 뜻)
- 이미지는 클래스, 각각의 컨테이너는 인스턴스(객체)라고 보면 됨
Container 공유
- 로컬 컴퓨터에서 Image를 만들어서 Container Registry(깃허브와 비슷)에 PUSH한 후, 필요한 서버나 다른 PC에서 만들어둔 Image를 PULL하여 그대로 실행하면 끝
- 이미지 실행을 위한 컨테이너 엔진(도커 같은)을 설치함
Container Registry
public과 private로 나뉘고, 보통 회사에서는 보안을 위해 대부분 private 사용
로컬과 서버에 각각 도커 설치 후, 도커파일 작성하여 이미지 생성
생성된 이미지를 컨테이너 레지스트리에 올린 다음 서버에서 다운로드받고 컨테이너 실행
1. 운영체제 확인
1. 본인 운영체제 확인 : windows 10 pro
windows 10 pro와 windows 10 Home Edition은 설치 방식이 다름
(Hyper-V 기능의 지원 여부, Home에서는 사용 불가하기 때문)
Windows 10 Pro 에디션
WSL2 기반 Docker Engine 사용 가능
Hyper-V 기반 Docker Engine 사용 가능
Windows 10 Home 에디션
WSL2 기반 Docker Engine 사용 가능
2. WSL2 설치
Microsoft Store에서 설치하기 (또는 Microsoft 홈페이지에서 설치 : Microsoft 홈페이지)
설치된 'Windows Terminal' 앱을 관리자 권한으로 실행
아래 코드 실행 완료 후, 컴퓨터 재부팅하기
WSL2 업그레이드를 위해 아래 링크로 최신 패키지를 다운받음
WSL2를 기본 버전(version 2)으로 설정
기본 WSL 버전 설정 : wsl --set-default-version 2
배포판 WSL 버전 변경 : wsl --set-version <distribution name> <versionNumber>
다운 후 실행하면 새 Linux 배포에 대한 사용자 계정 및 암호를 생성해야함
★ root계정 비밀번호 변경하는법
우선, 'sudo su' 입력 후 root 계정으로 로그인
나의 경우 제일 많이 사용하는 비번(분실 방지^^)
★ 다른 계정 비밀번호 변경하는법
ubuntu.exe config --default-user root
★ 계정 생성하는 법
★ 다른 계정 삭제하는 법
만든 계정으로 접속하기
★ 처음 사용할 때는 패키지 관리자를 업데이트 해주는게 좋음
우분투 버전 확인해보기
이제 windows terminal에서 wsl 명령어 실행하면 리눅스(우분투)사용 가능!
3. Docker 다운로드
설치 완료 후 실행하여, WSL2 적용이 잘 되었는지 확인(아래 두개 사항 확인)
WSL > ubuntu에 접속하여 docker 설치 확인