강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

hyunnn님의 프로필 이미지
hyunnn

작성한 질문수

비전공자도 이해할 수 있는 Docker 입문/실전

Ubuntu에서 Docker, Docker Compose 설치하기

ec2 우분투 도커 설치 관련

작성

·

11

0

안녕하세요 강사님

좋은 강의 잘 듣고 있습니다

이번 강의를 우분투 환경에서 진행해와서 도커 설치를 이미 했던 것처럼 공식 문서를 통해 다음과 같이 명령어를 작성하려고 했습니다.

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

하지만 강의를 따라오다보니 강사님께서 입력하신 명령어가 많이 달라 궁금한 부분이 생겼습니다

sudo apt-get update && \
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
sudo apt-key fingerprint 0EBFCD88 && \
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 -y docker-ce && \
sudo usermod -aG docker ubuntu && \
newgrp docker && \
sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose && \
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

명령어를 천천히 살펴보다가 몇 가지 궁금한 게 생겨서 질문드립니다

  1. 공식 문서로 할때는 -o로 직접 저장을 했는데 강사님이 써주신 방식이 어떤 방식의 이점이 있는지, 실제로 업무에서 사용할 땐 아래 방식으로 써야하는지 궁금합니다

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ sudo apt-key fingerprint 0EBFCD88 &&

 

  1. 공식 문서 명령어를 사용할 때에는 compose나 docker ce 등을 간단하게 한번에 설치했습니다. 강사님 명령어를 살펴보니 다른 방식으로 github에서 받아오시는것 같고 추가적인 명령어도 더 들어가는데 어떤 장점 때문에 이 방식을 쓰시는지 궁금합니다

감사합니다

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. hyunnn님.

질문 주신 내용은 Docker 설치 명령어의 차이에 대한 것이네요. 각 명령어가 사용하는 방법과 그 이점에 대해 설명드리겠습니다.

1. GPG 키 추가 방식 차이

  • 공식 문서 방식은 GPG 키를 파일로 내려받아 사용자가 지정한 경로에 저장하고, 명시적으로 저장한 파일을 사용합니다. 이 방식은 키 파일을 명시적으로 관리할 수 있다는 장점이 있습니다.

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    
  • 강사님이 사용하신 방식apt-key add 명령어를 통해 바로 시스템에 키를 추가하는 방법입니다. 이 방식은 좀 더 간결하며 사용 중 키를 확인하여 보안성을 높일 수 있는 apt-key fingerprint 명령이 포함되어 있습니다.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
    sudo apt-key fingerprint 0EBFCD88
    

2. Docker 및 Docker Compose 설치 방식

  • 공식 문서에서는 Docker CE와 Compose를 APT 패키지 관리자에서 설치하여 일관된 방법으로 운영하며, 모든 관련 패키지를 한 번에 설치할 수 있습니다. 패키지 매니저를 통해 설치하는 방식은 시스템과의 통합성과 업데이트 측면에서 장점이 있습니다.

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  • 강사님의 방식은 Docker Compose를 GitHub에서 직접 다운로드하여 설치하는 것입니다. 이 방식은 최신 버전이나 특정 버전을 직접 설치하고 싶을 때 활용하기 좋습니다. 특히, Compose의 업데이트 속도가 빠르고 빈번하기 때문에, 공식 패키지보다 최신 기능을 먼저 사용할 수 있습니다.

    sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
    sudo chmod +x /usr/local/bin/docker-compose && \
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    

결론

  • 어떤 것을 사용할지: 일반적으로 시스템 패키지 매니저(Apt)를 통해 설치하는 것이 권장됩니다. 이는 패키지 업데이트 관리 및 보안 패치 수용에 용이하기 때문입니다. 그러나, 최신 기능이 필요하거나 특정 버전을 사용해야 할 때는 강사님이 제안한 수동 설치 방법이 유리할 수 있습니다.

추가적인 설명이 필요하다면 언제든지 말씀해 주세요! 현재 답변은 베타 기능으로 만족스럽지 않을 수 있음을 양해 부탁드리며, 지식공유자님께서도 조만간 질문에 답변을 하실 것입니다. 🙏 추가적으로 궁금한 점이 있으시면, 계속해서 질문해 주세요. 좋은 하루 되세요!

hyunnn님의 프로필 이미지
hyunnn

작성한 질문수

질문하기