Docker #5 - Ubuntu에 Docker Engine 설치하기

2021. 6. 8. 13:37

1. 설치환경

Ubuntu Server 20.04

Hyper-V

 

 

2. 설치 절차

리눅스(Ubuntu)에 Docker Engine을 설치하는 방법 은 아래 보이는 바와 같이 3가지로 나뉜다.(Docker 공식문서)

∙ 저장소를 설정하고 설정된 저장소에 설치
DEB 패키지를 다운로드하여 수동으로 설치
테스트 및 개발 환경에서 자동화된 편의 스크립트를 사용하여 설치

본 포스팅에선 '저장소를 설정하고 여기에서 설치'  방식을 사용하여 설치를 진행한다.

 

저장소를 이용하는 방식의 설치 절차는 'Ⅰ. 저장소 설정 ' 하고 'Ⅱ. 설정된 저장소에 Docker Engine 설치'  한다.

 

 

3. 설치

3.1. 저장소 설정

# 1.패키지 업데이트
 sudo apt-get update
 sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

# 2. DOcker 공식 GPG Key 등록
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 3. 저장소 설정
 echo \
 "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

3.2. Docker Engine 설치

# 패키지 업데이트
 sudo apt-get update
 
# Docker Engine 설치(version을 명시하지않으면 자동으로 최신버전 다운로드)
 sudo apt-get install docker-ce docker-ce-cli containerd.io
 
# Docker Engine 버전 확인 
 # docker-cd | 5:20.10.7~3-0~ubuntu-focal | http://~~~
 # <VERSION_STRING> == 5:20.10.7~3-0~ubuntu-focal
 apt-cache madison docker-ce docker-ce-cli
 
# Docker Enging 설치(version을 명시하여 특정 version 다운로드 가능) 
 #sudo apt-get install docker-ce=5:20.10.7~3-0~ubuntu-focal docker-ce-cli=5:20.10.7~3-0~ubuntu-focal containerd.io
 sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
 
# Docker 설치 확인
 sudo docker run hello-world
 
 
# (선택) Kubernetes용 cgroup 드라이버 설정
 sudo mkdir /etc/docker
 cat <<EOF | sudo tee /etc/docker/daemon.json
 {
   "exec-opts": ["native.cgroupdriver=systemd"],
   "log-driver": "json-file",
   "log-opts": {
     "max-size": "100m"
   },
   "storage-driver": "overlay2"
 }
 EOF
 
 # 도커 재시작과 부팅시 실행되게 설정
 sudo systemctl enable docker
 sudo systemctl daemon-reload
 sudo systemctl restart docker

 

 

3.3. Docker 그룹에 사용자 추가(선택)

# root 권한
sudo docker info

# user 권한
docker info

docker info
sudo docker info

위 두 명령을 실행해보면 차이가 존재할 것이다. 이는 docker는 기본적으로 root 계정 외엔 실행 권한이 없기 때문에 권한이 없는 계정이 docker 명령을 사용하게 되면 error를 리턴한다. 따라서 사용자 계정을 Docker 그룹에 추가해 주어야 매번 루트 권한을 얻는 수고를 줄일 수 있다.

 

 # $USER : 호출하는 사용자의 사용자명을 담고있는 환경변수
 echo $USER
 > master
 
 # docker 그룹에 사용자 추가
 sudo usermod -aG docker $USER
 (sudo usermod -aG docker master)

 

이후 docker 그룹에 추가된 사용자를 적용하기 위해 docker service를 재실행시키며, 적용이 되지 않은 경우

재부팅 혹은 다시 로그인을 한다.

# docker service 재실행
sudo service docker restart

# 서비스를 재실행해도 완전히 적용되지 않은 경우
# 해당 시스템을 재부팅 or 계정 로그아웃, 로그인을 진행한다.
 # 재부팅
 reboot
 
 #로그아웃
 logout

docker info


ref

https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

'cloud computing > docker' 카테고리의 다른 글

vmmem  (0) 2021.05.20
Docker #4 - Get started(3) tag, push  (0) 2021.04.22
Docker #3 - Get started(2) build, run, stop  (0) 2021.04.22
Docker #2 - Get started(1)  (0) 2021.04.22
Docker #1 - Docker overview  (0) 2021.04.22

BELATED ARTICLES

more