2021. 9. 25. 17:02ㆍ도커
기존에는 도커 툴박스를 윈도우에 설치하여 사용하려고 했는데
mongoDB 이미지를 받은 후 컨테이너를 실행한 상태에서 기본포트 27017로 접근하려고했더니 접근이 안됬었다.
docker run -it -d -p 27017:27017 --name mongodb mongo
위 명령어를 사용하여 VM에서 도커를 설치해서 사용했을때 처럼 포트포워딩을 수행했는데 접근이 안되길래 찾아봤더니..window환경에서 툴박스를 쓰는것과 window용으로 설치하는게 조금 다른듯 하다.. 잘 정리된건 아래 블로그를 들어가보시면 될것 같다.
그래서 window용 도커를 설치하면서 필요한 부분들을 가져와 기록용으로 남겨보려고한다.
##차이점 퍼온글##
Docker Toolbox(도커 툴박스) 와 Docker for Windows의 차이점
Windows 환경에 도커를 설치하는 경우에는 도커 툴박스를 이용하거나 Docker for Windows를 설치해 사용합니다. 이 둘의 차이는 운영체제가 자체 가상화를 지원하여 가상화를 이용하는 것과 가상화를 지원하지 않아 버추얼박스(Virtual Box)를 이용한 가상화를 통해 도커를 설치하는 것의 차이가 있습니다. 그러나 내부적으로 이 둘 모두 동일한 도커 엔진으로 동작합니다.
도커 툴박스를 이용하는 경우
도커 툴박스의 경우에는 HOST 운영체제에 리눅스 가상머신(Virtual Machine)을 생성하고 그 안에 도커를 설치하기 때문에 컨테이너의 네트워크까지 가상 네트워크가 두 개 생성됩니다.
가상머신은 내부 IP를 가지게 되고 그 안에서 도커 컨테이너는 NAT IP를 받기 때문에 외부에서 컨테이너까지 접근하기 위해서는 2번의 포트포워딩을 거쳐야 합니다. 첫 번째로는 HOST OS -> Linux 가상머신 사이의 포트 포워딩이며, 두 번째는 Linux 가상머신과 도커의 컨테이너 사이의 포트 포워딩입니다.
Linux 가상머신과 도커 컨테이너 사이의 포트포워딩은 도커 설정으로 쉽게 가능한데, HOST OS 외부에서부터 접근하는 경우에는 HOST OS -> Linux 가상머신 사이의 포트포워딩을 별도로 해주어야 합니다.
자체 가상화를 이용한 Docker for Windows 이용
Docker for Windows를 이용하게 되면 자체 가상화 기술로 리눅스 환경을 만든 후 컨테이너를 생성하기 때문에 도커레벨에서의 설정만으로도 외부에서 컨테이너로 접근할 수 있습니다.
출처: https://dololak.tistory.com/355 [코끼리를 냉장고에 넣는 방법]
##설치하는데 도움받은 글##
도커 설치하기
▶ 1. 도커란?
도커 설치와 관련된 포스팅 이기에 아주 간단히 도커가 어떤 것이지 살펴만 보고 바로 설치 하는 방법을 알아보자.
- 도커 공식 홈페이지에는 "Docker는 컨테이너(Container) 이동을 주도하는 회사, 하이브리드 클라우드의 모든 애플리케이션을 처리할 수 있는 유일한 컨테이너 플랫폼 제공 업체" 라고 되어 있다.
- 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼 이다.
- 컨테이너란 "다양한 OS에 여러 application이 올려져 있는 것 이라고 볼 수 있다.
- 도커에서 의미하는 컨테이너란
택배나 화물선 위에 수출 용품을 싣는 컨테이너를 대신하여 프로그램(소프트웨어)을 담는 격리된 공간을 의미 한다.
- 각각의 격리된 여러개의 소프트웨어 컨테이너에는 ubuntu, centos등의 운영체제,
그리고 java, python, 아파치 웹서버나, mysql 같은 dbms 등의 프로그램들 까지도 담기게 된다.
- 그리고 각 컨테이너는 격리된 공간이기 때문에 한 컨테이너가 해킹을 당하던, 한 컨테이너에 문제가 생기더라도 컨테이너간에 영향을 끼치지 않는다.
이러한 도커의 특성 때문에 다음과 같은 장점이 있다고 정리할 수 있다.
▶ 2. 도커의 장점?
1) 빠르고 가벼운 가상화 솔루션
- 호스트의 운영체제를 공유하여 필요한 최소한의 리소스만 할당받아 동작하는 방식 이기때문에 가볍다.
- 즉 ,기존 Hypervisor 엔진을 사용하지 않고, Docker Engine을 통해 Guest OS 없이 실행 가능하다. Guest OS가 없기 때문에 가상머신보다 훨씬 빠른 실행 속도를 보장할 수 있다.
- 하드웨어 가상화를 하지 않기 때문에, 메모리 엑세스, 파일 시스템, 네트워크 실행 성능도 뛰어나다.
2) 개발언어에 종속되지 않는다.
- 개발 언어나 툴에 상관없이 어떠한 애플리케이션이라도 만들 수 있으며, Docker에서 만들어진 애플리케이션은 이동성이 뛰어나며 어디서나 실행될 수 있다.
3) 뛰어난 보안성
- 서비스가 해킹시에도 각 컨테이너들은 격리되어있기 때문에 원래의 서버에 영향을 미치지 않는다.
▶ 3. Window10 도커 설치하기
1) 도커 설치전 환경 설정
- 도커를 사용하기 위해서 가상화 기술인 Hyper-V를 활성화시켜야한다.
- 우선 작업 관리자에서 가상화를 사용함으로 설정했는지 확인 한다. (안되어 있는 경우 BIOS 에서 사용함으로 설정해야 한다.)
- 제어판 > 프로그램 설치 및 제거 > Window 기능 켜기/끄기 클릭 > Hyper-V 체크 확인 후 리부팅
2) 도커 설치파일 다운로드 및 설치
- 다음 사이트 접속 > Get Docker 클릭 하여 다운로드
- https://hub.docker.com/editions/community/docker-ce-desktop-windows/
- 다운로드 완료한 도커 설치 파일을 실행한다.
- Use Windows containers instead of Linux containers(this can be changed after installation) : 리눅스 컨테이너 대신 윈도우 컨테이너를 사용할껀지 물어보는 항목이다.
- 이 항목은 언제든지 설치 후에도 바꿀 수 있으니 그냥 넘어 간다. (OK 클릭)
- 참고 (2.2.0.5 Version)
- 참고 (3.0.0 Verision) (동일하게 OK 클릭)
- 도커 설치가 진행 중이다.
- 설치가 완료 되면 "Close and restart" 를 클릭하여 재부팅 하여 준다.
- 재부팅 하면 도커를 사용할 준비 중이고, 사용할 준비가 완료 되면 우측 하단에 다음과 같은 메뉴가 생기는 것을 확인할 수 있다.
- 도커실행시 다음과 같은 오류 메세지가 나오는 분들은 해당 링크로 가서 관련 파일을 설치해 준 후 재기동 하면 된다.
- 도커를 사용하기 위해 회원 가입이 안되어 있는 경우 회원 가입을 진행 해주자.
- ID, Email, Password 입력하고 Sign Up 하여 진행.
- 나와 같은 경우에는 무료로 사용 하는 플랜을 선택 하였다.
- 플랜 선택 완료 후 이메일 인증을 진행 한다.
- 이메일 확인 후 "Get started with Docker Desktop"을 클릭 하여 준다.
- 사용할 준비는 완료 되었고, 튜토리얼을 볼 수 있는데, 따라 해보면 된다.
- 튜토리얼이 완료 되면 다음과 같은 화면을 볼 수 있다.
- CMD 에서 "docker -v" 실행해보면 올바르게 도커가 설치된 것도 볼 수 있다.
▶ 4. Kitematic 설치 (도커를 쉽게 GUI로 사용 가능하다)
1) 다운로드 하여 실행만 하면 현재 시점에서 별도의 설치는 필요없다.
- 다음 URL 접속하여 각자의 OS (이번 포스팅에선 Window)에 맞게 다운로드 후 압축 해제 하여 주자.
- www.github.com/docker/kitematic/releases
2) 실행하면 다음과 같은 화면을 볼 수 있다.
- 회원 가입하였던 ID로 로그인 한다.
- 다음과 같은 화면이 나온다면 이제 도커를 사용할 기본적인 준비는 완료 되었다.
출처: https://goddaehee.tistory.com/251 [갓대희의 작은공간]
##아래는 window용 도커 설치 후 에러가 날때 설치하는 패키지 파일과 버전변경방법이다.##
3. Linux 커널 업데이트 패키지 다운로드
docs.microsoft.com/ko-kr/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package
x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지를 다운로드한다
4. WSL 2를 기본 버전으로 설정
wsl --set-default-version 2
5. 기존의 설치한 ubuntu18.04 리눅스를 WSL2로 업데이트
WSL2가 설치되었지만 이전에 설치된 ubuntu18.04는 아직 WSL1로 설정이 되어 있다
wsl --list--verbose
해당 리눅스의 WSL2 버전으로 변경하려면 해당 커맨드를 입력하고 조금 기다리면 된다
wsl --set-version <distribution name> <versionNumber>
wsl --set-version Ubuntu-18.042
'도커' 카테고리의 다른 글
도커 로그확인방법 및 내부 파일 복사 붙여넣기 (0) | 2021.09.15 |
---|---|
리눅스(Ubuntu)에 도커설치 방법 (0) | 2021.09.15 |