inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Ubuntu에서 Docker, Docker Compose 설치하기

ec2 우분투 도커 설치 관련

94

hyunnn

작성한 질문수 1

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에서 받아오시는것 같고 추가적인 명령어도 더 들어가는데 어떤 장점 때문에 이 방식을 쓰시는지 궁금합니다

감사합니다

docker docker-compose docker-volume docker-image container ecr

답변 2

0

JSCODE 박재성

안녕하세요! 질문 잘해주셨어요 ~~

질문해주신 내용에 답변드려볼게요 !

 

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

-> 우선 결론적으로 실무에서는 공식문서의 방식을 사용하시는 걸 추천드려요 !

공식 문서의 방식이 최신 표준 방식이고, 강의에서 사용한 apt-key 방식은 과거의 표준방식이에요 !

강의 자료가 제작된 시점에는 apt-key 방식이 일반적이었지만,

현재는 /etc/apt/keyrings/ 디렉토리에 키를 저장하는 방식이 더 권장되는 방법이에요 ~

 

"강사님 명령어를 살펴보니 다른 방식으로 github에서 받아오시는것 같고 추가적인 명령어도 더 들어가는데 어떤 장점 때문에 이 방식을 쓰시는지 궁금합니다"

-> 해당 명령어 또한 강의자료를 제작할 당시의 표준이라 사용했었어요ㅎㅎ

공식 문서를 보는 게 어렵지 않다면 최근에 업데이트 된 공식문서의 방식을 사용하시는 걸 추천드립니다!

참고로 두 방식 모두 정상적으로 동작하기 때문에

강의를 따라가시면서 학습하시는 데에는 지장이 없어요 :)

추가로 궁금하신 사항있으시면 언제든 추가 질문 남겨주세요 !!

0

인프런 AI 인턴

안녕하세요, 인프런 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)를 통해 설치하는 것이 권장됩니다. 이는 패키지 업데이트 관리 및 보안 패치 수용에 용이하기 때문입니다. 그러나, 최신 기능이 필요하거나 특정 버전을 사용해야 할 때는 강사님이 제안한 수동 설치 방법이 유리할 수 있습니다.

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

EC2 터미널에서 docker pull

0

78

2

AWS ECR

0

74

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

122

2

Redis 볼륨 설정?

0

131

2

컨테이너의 IP

0

103

2

도커 이미지를 만들 때 application.yml

0

113

2

compose.yml 관리

0

106

2

ECR 리포지토리에 이미지가 3개가 보입니다.

0

91

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

93

1

depends_on에 따른 컨테이너 실행 순서

0

86

2

실제 웹 서비스 배포 시 질문

0

96

2

도커 volume 질문

0

74

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

85

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

83

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

83

2

도커파일 copy

0

82

2

실무에서 docker compose up --build를 할 때

0

249

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

98

2

도커 허브에서 postgres 버전 확인하는 법

0

154

2

보충 자료와도 관련된 추가 내용

1

91

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

119

2

노션 자료에 안 보이는 이미지가 있습니다

0

109

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

134

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

99

2