설치 전 확인 사항
- 커널 버전 확인: 리눅스 커널이 최소 3.10 버전 이상이어야한다. 아래와 같이 확인 가능하다.
$ uname -r >> ''' 3.10.0-327.13.1.e17.x86_64 '''
- sudo 권한 혹은 root 권한을 소유한 계정에서 설치 진행
- 최신 배포판 OS인지 확인.
- 2020년 10월 기준 우분투
16.04, 18.04(LTS), 20.04(LTS) 지원 - 22년 2월 기준으로 확인결과, 2021년 4월 30일부터 우분투 16.04 LTS는 더 이상의 도커 릴리즈 지원이 종료되었다. 또한 우분투 21.04, 21.10에 대한 지원을 한다.
- 2020년 10월 기준 우분투
- 64비트 운영체제 확인. 32비트에서는 돌아가지 않는다.
본문에서는 도커 설치에 대한 3~4가지 설치 방식을 제안한다. 일반설치, 특정버전 설치(커맨드기반, 파일기반), 간단설치의 방식이 존재하며 본인에게 필요한 방식을 생각해보고, 잘 모르겠다면 일반설치를 따라하자.
일반 설치
업데이트 및 HTTP 패키지 설치
$ sudo apt update
$ sudo apt-get install -y ca-certificates \
curl \
software-properties-common \
apt-transport-https \
gnupg \
lsb-release
GPG 키 및 저장소 추가
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
도커 엔진 설치
docker는 CE(Community Edition)과 EE(Enterprise Edition)으로 나뉜다. EE는 유료로 제공되는 기업용 솔루션이다. 일반적으로 무료인 CE 버전을 사용해도 핵심적인 컨테이너 기술은 동일하다.
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io
특정 버전 설치(커맨드 설치)
일단 도커엔진 설치 전 과정까지는 수행하고 특정버전을 설치하기 위해 이어서 진행한다.
설치가능한 버전 확인
터미널을 열고 다음 명령어를 입력하여 docker-ce와 docker-ce-cli의 설치가능한 버전을 확인할 수 있다. 둘의 결과는 동일하니 docker-ce만 확인해도 된다.
$ apt-cache madison docker-ce
>>
'''
docker-ce | 5:20.10.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
'''
도커 엔진 설치
위에서 docker-ce 다음에 출력 되는 버전을 선택하여 복사하고 다음과 같이 패키지 명 옆에 버전을 붙여서 설치한다. <VERSION_STRING> 자리에 해당 버전을 적어주면 된다. ex) 5:19.03.15~3-0~ubuntu-focal
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
특정 버전 설치(파일로 설치)
버전에 맞는 설치파일(.deb) 내려받기
https://download.docker.com/linux/ubuntu/dists/ 링크에서 .deb 파일을 통해 설치한다. 본인의 우분투 릴리즈 버전 선택 후 pool/stable로 이동하면 아키텍쳐(amd64, arm64 등)에 맞게 한번 더 들어가면 파일을 내려받을 수 있다.
설치
dpkg 명령어를 통해 해당 .deb 파일을 설치한다.
$ sudo dpkg -i /path/to/package.deb
웹에서 설치 스크립트를 받아 간단설치
대부분의 리눅스 운영체제에서 개발환경에 빠르고 간단하게 사용할 수 있는 방법이다. 그러나 일반적으로는 권장하지 않는다.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
설치 확인
도커 버전 확인
$ sudo docker version
>>
'''
Client: Docker Engine - Community
Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:45:33 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
...
...
'''
컨테이너 실행
hello-world 컨테이너를 시험 실행하여 도커 엔진 설치를 확인한다. --rm 명령어를 주어 컨테이너 실행 후 바로 삭제되도록 한다.
$ sudo docker run --rm hello-world
>>
'''
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
'''
권한 오류
만약 docekr info 명령어가 다음과 같이 권한 오류를 일으키며 실행이 안 될수도 있다. 일반적으로 sudo 권한을 가지는 관리자 계정으로 사용하는 것을 권장한다.
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
도커 엔진 제거
도커 엔진 및 관련 패키지 제거
다음 명령어를 수행한다.
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io
잔여 호스트 이미지, 볼륨, 컨테이너 제거
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
출처 : [Docker] Ubuntu에 Docker 설치하기 - Dongle’s 개발노트 (dongle94.github.io)
'IT > CLOUD(AWS,Azure,GCP,Docker)' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 클러스터 구축 (0) | 2022.06.19 |
---|---|
Kubernetes #3. 쿠버네티스 Unable to connect to the server: x509 에러 (0) | 2022.06.19 |
Kubeadm unknown service runtime.v1alpha2.RuntimeService (0) | 2022.06.19 |
[Docker/도커] Job for docker.service failed because the control process exited with error code 오류 해결 과정 (0) | 2022.06.19 |
[Docker] Package 'docker-ce' has no installation candidate 에러 (0) | 2022.06.19 |