EC2에 도커 설치하기

김범식·2023년 4월 22일
0





홈페이지의 공식문서를 참고해서 우분투에 Docker를 설치할 수 있다.

하지만 처음 Docker를 공부하는사람은 공식문서가 어려울 수 있다. 나도 그래서 블로그를 많이 참고했는데, 그 중 아주 깔끔하게 나와있는 도커 설치법에 대해 설명하려 한다.

도커 공식문서 : https://docs.docker.com/desktop/install/ubuntu/




Docker 패키지 저장소 설정




apt패키지 설치


aptAdvanced Packaging Tool의 약자로 패키지 관리 시스템 입니다. mac에서 사용하는 brew 혹은 node에서 사용하는 npm과 비슷하다고 보면 됩다. 이제 다음 명령어들을 순서대로 입력한다.

$ sudo apt-get update
  • 패키지를 업데이트 합니다.
$ sudo apt-get ca-certificates
  • SSL/TLS 연결을 설정할 때 사용되는 인증서를 제공한다.
$ sudo apt-get install gnupg
  • gnupg는 Gnu Privacy Guard의 약자로, 개인정보를 암호화 하고 서명하는데 사용되는 오픈소스다.
$ sudo apt-get install lsb-release
  • LSB(Linux Standard Base)의 버전 정보와 배포판 정보를 제공한다. 이정보는 다른 프로그램이 시스템의 배포판 정보를 파악하는데 사용된다.




GPG 키 추가


전자서명 및 암호화를 위해 사용되는 공개 키 기반의 암호화 기술이다. GPG는 개인키와 공개키로 구성되어 있으며 개인키는 키 소유자만이 액세스 할수있고 공개키는 다른 사용자가 암호화 하고 전자서명을 확인하는데 사용할 수 있다.

APT 패키지 관리자는 GPG키를 사용해 패키지를 인증하고 다운로드된 패키지가 변조되지 않았는지 확인한다. 이로서 신뢰할 수 있는 소스에서 제공되었는지 확인할 수 있다.

$ sudo mkdir -p /etc/apt/keyrings
  • 공개키 파일을 저장하는 디렉토리를 생성한다.
$ curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg)
  • curl을 사용하여 Docker 공식 GPG(GNU Privacy Guard) 키를 다운로드 한다.
  • GPG키는 Docker에서 제공하는 공식 패키지의 인증을 검증하는데 사용된다.
  • -fsSL 옵션은 다운로드 중에 발생하는 오류를 무시하고, 다운로드 진행사항을 보여준다.
$ sudo gpg --dearmro -o /etc/apt/keyrings/docker.gpg
  • /etc/apt/keyrings 디렉토리에 docker.gpg라는 이름으로 Docker GPG키를 저장한다.
  • —dearmor : 다운로드한 GPG키를 ASCII형식에서 바이너리 형식으로 디코딩한다.
  • -o : /etc/apt/keyrings/docker.gpg 파일에 저장한다.
  • 이제 APT패키지 관리자에게 이 키를 사용하여 Docker 패키지를 인증할 수 있다.



리포지토리 설정


$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

echo 를 사용해서 Docker패키지를 다운로드 할 수 있는 APT저장소를 /etc/apt/sources.list.d/docker.list 파일에 추가한다.

echo 명령어는 deb레코드를 출력한다. deb레코드는 APT저장소에 대한 정보를 제공한다. 이 경우

[arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 옵션을 사용해 현재 시스템의 아키텍쳐와 /etc/apt/keyrings/docker.gpg
파일에 저장된 Docker GPG 키를 사용하여 패키지를 인증한다.

[https://download.docker.com/linux/ubuntu](https://download.docker.com/linux/ubuntu) 는 Docker 패키지가 호스팅 되는 원격 저장소 url이고 $(lsb_release -cs) 현재 Ubuntu 버전의 코드 이름을 가져온다.

마지막으로 | 기호를 사용해 echo 명령이 출력하는 내용을 sudo tee /etc/apt/sources.list.d/docker.list 명령에 전달한다. 이 명령은 표준 출력에서 데이터를 읽어 /etc/apt/sources.list.d/docker.list에 쓴다.



도커 엔진 설치


$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli contianer.io docekr-compose-plugin
  • docker-ce : Docker패키지
  • docker-ce-cli : Docker Command Line Interface(CLI) 터미널에서 Docker Engine을 제어할 수 있다.
  • **containerd.io** : 컨테이너 런타임인 contianerd를 설치한다. Kubernetes 같은 컨테이너 오케스트레이션 시스템에 사용된다.
  • docker-compose-plugin : Docker Compose에 추가적인 기능을 제공하는 플러그인



Docker 설치


$ sudo apt-get pdate
$ sudo apt-get install ./docker-desktop-4.11.0-amd64.deb
  • ./docker-desktop-4.11.0-amd64.deb 패키지를 설치하는 명령어 이다. ./ 는 현재 디렉토리를 의미하므로 이 패키지는 현재 디렉토리에 있어야한다.



설치 확인


$ sudo docker version

결과

Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon March  6 23:02:57 2023
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

-이런 비슷한 형식으로 나옴




참고 : https://itstudy402.tistory.com/47

profile
frontend developer

0개의 댓글