docker(도커)

도커 #2 - 가상 머신 + 리눅스 + 도커 엔진 설치 (윈도우, 리눅스)

letsDoDev 2024. 10. 9. 19:55

도커를 사용할 때의 대표적인 리눅스 운영체제는 CentOS, 우분투 등이 있다.

윈도우와 맥 운영체제 모두 도커를 사용할 수 있지만 '윈도우10' 과 '맥 OS X 10.10.3 Yosemite' 이전 버전의 운영체제를 사용한다면 도커를 사용하기 위해 가상화 공간을 별도로 생성해야 하니 주의하자!

 

도커는 어떤 운영체제에서 설치되든 전체적인 사용 방법이 동일하다는 것이 장점이다. 

 

[ 도커 EE  VS 도커 CE ]

도커 EE :

Enterprise Edition 기업용 각종 기술 지원 + 기능 들이 도커 엔진과 함께 제공된다.

도커 CE : 

Comunity Edition 무료로 제공되는 도커 엔진

기술 지원과 서비스를 제공하지 않는다.

하지만 도커 엔진의 핵심 기능들은 사용이 가능하다.

 

내가 설치하고 학습할 버전은 CE 버전이다

CE - edge :

새로운 기능들을 먼저 사용해 볼 수 있으나 버그가 많음

CE - stable :

새로운 기능들은 없지만 버그가 발생할 확률히 극히 낮은 안정화된 버전


이제 윈도우 10 운영체제와 리눅스 운영체제에서 도커 엔진을 설치해보자.

 

윈도우는 정리용도로 설치만 했고

실제 학습은 리눅스 우분투(가상머신 통해서 사용)  설치해서 사용할 것이다.

 

 

[도커엔진 설치 #1 - window (설치 및 기록만)]

#1 내가 지금 쓰고 있는 pc에 docker desktop 설치 (windows)

docker 는 리눅스 서버에서 사용하는 것이 적합하지만

Docker Desktop 을 사용하면 windows 와 mac 에서도 사용할 수 있다.

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

 

AMD64 로 설치하자

(AMD64 -> 우리가 셍각하는 PC - WINDOWS, MAC 64 비트

/ ARM64 -> 작은 기기용 32 비트 내 설명이 틀릴수도..)

 

다 설치 하면 pc가 재 부팅된다.

재부팅되는 이유는 Hyper-V 활성화를 위함임.

 cmd로

docker -v

로 도커 버전 확인을 통해 정상적으로 설치되었는지 확인 가능하다.

 

기본적으로 위에서 내가 쓰는 pc인 windows 운영체제에 맞춰 docker desktop 을 설치하였으나

나는 리눅스 환경에서도 사용해보고 싶어서 가상머신을 사용해서 리눅스 환경에서 docker 를 사용해볼 것이다.

 

 

[도커엔진 설치 #2 - 가상머신 리눅스 설치 + linux (설치 및 실사용)]

먼저 windows 환경인 내 pc에 리눅스 가상 환경을 설치하자

 

#2 - 1 가상 머신 설치  (버추얼박스)

버추얼박스 설치 페이지

Downloads – Oracle VirtualBox

 

Downloads – Oracle VirtualBox

This VirtualBox Extension Pack Personal Use and Educational License governs your access to and use of the VirtualBox Extension Pack. It does not apply to the VirtualBox base package and/or its source code, which are licensed under version 3 of the GNU Gene

www.virtualbox.org

 

별도로 설정을 변경할 일이 없다면 그냥 next 만 눌러서 설치를 완료하면 된다.

 

#2 - 2 가상 머신(버추얼박스) 에 사용할 리눅스 이미지(ubuntu) 다운

가상 머신에 사용할 리눅스 이미지를 사용할 것이다.

docker 와 가장 호환성이 좋은 우분투를 사용할 것이다.

http://releases. ubuntu.com/20.04   

ㄴ-> 가상 머신에 사용될 우분투 이미지 파일 다운로드 경로

우분투 이미지에는 

- desktop 이미지

- server 이미지

이렇게  두 가지 종류가 있는데 리눅스 활용 가능 정도 또는 개발용 vs 서버용 용도에 따라 결정하면 된다.

desktop 은 gui 를 지원하나 server 는 gui를 지원하지 않아 cli 작업해야 한다는 점이 차이이다.

 

나는 개발용도로 사용하는 것이기 때문에 desktop 이미지를 설치하기로 한다.

 

 

#2 - 3 가상머신에 리눅스 우분트 띄우기

- VirtualBox 실행

- iso 이미지는 다운받은 리눅스 우분투 desktop 이미지를 "경로 + 파일"로 지정해준다.

 

- 그 다음은 귀찮아서 그냥 기본설정으로 해주었다.

- 본인이 설정값을 변경하고 싶다면 "사용자 이름", "암호"를 변경하여도 좋다.

- 나는 까먹을까봐 기본 값으로 한 것이다.

 

- 가상 환경 메모리, cpu, 하드디스크 설정인데 

- 노트북 사양이 좋지 않아 합리적인 선에서 설정을 했다.

 

 

- 가상 머신 실행

- 설치가 생각보다 오래 걸린다 인내심을 가지자!

- 이후 사용자 로그인이 나오는데

- 위에서 설정해둔 기본 유저 정보로 로그인 하자!

 

- 온라인 계정과 연동을 물으면 우측 상단 skip 버튼을 누르자

 

- live path 지정을 물으면 우측 상단 next 를 누르자

 

- 도움 개선을 무르면 no 를 체크하고 next 를 누르자

- 이후 나올 privacy - Location Services 를 묻는 화면에서는

- 가끔 이거 활성화 안 해두면 locale 수동으로 설정해야 터미널 열린다고 했던 ref들이 있어서

- 그냥 활성화 하고 next 버튼을 클릭했다.

- 다 설치하고 done 을 클릭하면 메인화면으로 이동한다.

 

- 아래 터미널 찾기 (favorite에 추가해두면 우측 사이드 바에 아이콘이 추가된다 -> 스크린샷은 이미 favorite에 추가된 상태)

 

- ,, 근데 나도 터미널이 안 열린다 다른 해결법을 찾아서 따라해봤다.

-  setting 에서 

- region & language 에서 언어 English(United States) -> English(Canada) 로 변경

- 그리고 virtualBox 재로그인

- 이제 터미널이 열린다

 

 

#2 - 4 리눅스 우분투(가상머신) 에 도커 엔신 설치하기

- 리눅스에서 도커를 설치할 떄는 유의할 점이 하나 있다

- 커널 버전이 3.10 이상이어야 한다

uname -r

- 로 버전을 확인해보자

 

- 내 버전은 5.10 이상으로 사용 가능하다

- 추가로 확인해야 할 거는 리눅스 버전이 업데이트 지원을 받고 있는지, 64 비트 리눅스인지 정도 이다.

- 그리고 도커를 설치할 때는 sudo 명렁어로 설치하거가 root  권한 계정에서 설치하여야 한다.

 

- 이제 설치해보자 ref 에서 코드를 긁어왔는데 무슨 의미인지 확인해보기 이해서

- gpt 의 힘을 빌렸다. 

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 
# sudo apt-get update
  
# apt-get install docker-ce

-  아래 gpt 설명

더보기

네, 이 스크립트는 리눅스 우분투에서 도커(Docker)를 설치하는 과정입니다. 한 줄씩 설명드릴게요:

  1. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    • curl: URL에서 데이터를 가져오는 명령어입니다.
    • -fsSL: 이 옵션들은 각각 silent, fail, show-error, location의 약자로, 오류 메시지만 표시하고, 성공하면 조용히 넘어가며, 리다이렉트를 따릅니다.
    • https://download.docker.com/linux/ubuntu/gpg: 도커의 GPG 키를 다운로드하는 URL입니다.
    • | sudo apt-key add -: 파이프(|)를 이용해 다운로드한 GPG 키를 apt-key 명령어로 추가하는 부분입니다. 이 GPG 키는 도커 패키지의 신뢰성을 확인하기 위한 서명 키입니다.
    의미: 도커 패키지의 신뢰성을 보증하기 위해 Docker 공식 GPG 키를 가져와 추가하는 작업입니다.
  2. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    • sudo: 관리자 권한으로 명령을 실행하게 하는 명령어입니다.
    • add-apt-repository: 새로운 소프트웨어 저장소를 추가하는 명령어입니다.
    • "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable": 도커의 패키지 저장소를 추가하는 부분입니다.
      • deb: 데비안 패키지 형식으로 저장소를 지정합니다.
      • [arch=amd64]: 시스템 아키텍처를 64비트(x86_64)로 지정합니다.
      • $(lsb_release -cs): 현재 시스템의 배포판 코드를 반환합니다. 예를 들어, Ubuntu 20.04는 focal을 반환합니다.
      • stable: 안정화된(stable) 버전을 다운로드하도록 지정합니다.
    의미: 우분투 패키지 관리 시스템에 Docker 패키지 저장소를 추가하는 작업입니다.
  3. sudo apt-get update
    • sudo: 관리자 권한으로 명령을 실행합니다.
    • apt-get update: 시스템의 패키지 목록을 업데이트합니다.
    의미: 방금 추가한 도커 저장소를 포함한 모든 저장소의 최신 패키지 목록을 가져옵니다.
  4. sudo apt-get install docker-ce docker-ce-cli containerd.io
    • sudo: 관리자 권한으로 명령을 실행합니다.
    • apt-get install: 지정한 패키지를 설치하는 명령어입니다.
    • docker-ce: Docker Community Edition, 도커 커뮤니티 버전입니다.
    • docker-ce-cli: 도커 커맨드 라인 인터페이스(CLI) 도구입니다.
    • containerd.io: 도커에서 사용하는 컨테이너 런타임입니다.
    의미: Docker의 커뮤니티 에디션(CE), Docker CLI, 그리고 컨테이너 런타임을 설치하는 작업입니다.

이 과정이 끝나면 도커가 정상적으로 설치되고, docker --version 명령어로 설치된 도커 버전을 확인할 수 있습니다.

혹시 추가로 궁금한 점 있으시면 말씀해 주세요!

- 위 명령어를 실행하기 위해서는

- 우선 curl 패키지를 설치해야 한다는 것을 알았다

sudo apt install curl

 

- 그런데

- vboxuser is not in the sudoers ~~ 가 출력된다.

- sudoers 파일에 현재 사용자를 추가해야 된다는 것을 알았다. (해줘야 할게 생각보다 많구만...)

- 순서대로 

- su (super user로 접속)

- password :   (사용자 password 입력)

- nano /etc/sudoers (권한 설정하는 파일 열기)

- 그럼 아래처럼 파일이 열린다.

 

- 이 부분을 추가한 거임

- 여기서 vboxuser는 내가 설저했던 사용자 이름임 사용자마다 다를 수 있음을 유의한다

- 만약 내 사용자 명이 user123 이면 저기 "user ALL=(ALL:ALL) ALL" 를 입력해야 한다.

- ctrl + o 저장 및 저장할 파일명 

- 파일명 변경할 필요 없으면 enter

- ctrl + x 파일 닫기

- exit 를 눌러 super user 에서 나와서

- 다시 이미 언급했었던 명령어들로 도커를 설치해보자

# sudo apt install curl

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 
# sudo apt-get update
  
# apt-get install docker-ce

 

- 먼저 sudo apt install curl

 

- 그 다음 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

- ? OK??? 이게 맞나?

- 그 다음 sudo add-apt-repository deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable

- 에러가 난다 저 source.list 가 잘못 된 거 같다

- 수정 작업 후 결과

- 휴 이제 된다.

- source.list 에서 뭐를 수정했냐면

- sudo nano /etc/apt/source.list 로 들어가서

- # see ~ stable 까지 저 3줄을 지우고 저장하고 

- 다시  sudo add-apt-repository deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable  명령어를 실행한 거였다.

 

- 다음으로는 sudo apt-get update 수행

 

- 다음으로 sudo apt-get install docker-ce 로 도커 설치를 시작한다. (설치 마지막 명령어)

 

- 이제 도커 (도커 엔진)이 제대로 설치되었는지 확인해보자

sudo docker info

 

- 제대로 설치되었다. 

- 설치만 했는데도 생각보다 오래 걸렸다.

 

- 이번 게시물 끝

'docker(도커)' 카테고리의 다른 글

도커 #1 - 도커와 마이크로 서비스?  (0) 2024.10.03