Docker
- 리눅스 컨테이너화 기술로 사용자가 리눅스 컨테이너를 만들고 사용할 수 있도록 지원한다.
- 도커는 가상화 기술이 아닌 격리 기술이지만 가상 머신과 비슷한 느낌으로 사용한다.
- 컨테이너를 구축, 배포, 복사하며 환경의 이전이 자유롭기 때문에 AWS 등 클라우드 서비스에 최적화되었다.
- 처음엔 리눅스의 LXC 기술(기존의 컨테이너)을 활용하였으나 현재는 자체 개발된 기술 활용한다.
- 도커는 단일 컨테이너 관리에 적합하게 만들어져 있다. (다수의 컨테이너를 다루려면 쿠버네티스 활용)
- https://www.docker.com/
Docker 설치
도커는 실제 Linux 서버에 설치 후 공식 매뉴얼 (https://docs.docker.com/engine/install/ubuntu/) 을 참고하여 작성했고, 다른 운영체제에서의 설치가 필요하다면 공식 매뉴얼을 참고하기 바란다.
아래 내용은 Ubuntu 20.04 LTS 기반이며, 서버는 미리 설치 후 설정까지 되어 있다고 가정하고 진행하겠다.
** 서버 OS 요구사항이 존재함 설치 전 참고
서버가 준비되었다면 도커 설치를 위해 가장 먼저 OS에 존재하는 이전 버전 docker (docker, docker.io, docker-engine)를 제거해야되고, 아래 명령어를 통해 제거가 가능하다.
$ sudo apt-get remove docker docker-engine docker.io containerd runc
제거가 완료되었다면 apt-get를 업데이트하고 curl과 기타 패키지를 설치한다.
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg lsb-release
이후 curl로 도커의 공식적인 gpg 키를 가져온 뒤 gpg 명령어로 추가한다.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
위에서 가져온 키를 사용하여 도커 이미지를 다운받아올 deb 명령어 만들어 /etc/apt/sources.list.d/docker.list 에 추가한 뒤 결과를 출력해준다.
$ echo "deb [arch=$(dpkg --print-architecture) 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
$(dpkg --print-architecture) 는 현재 서버의 아키텍쳐를 가져오고, $(lsb_release -cs) stable은 우분투 배포판의 버전을 가져온다. 여기서 stable은 docker 이미지의 버전으로 nightly 또는 test 입력이 가능하다.
관련 내용은 아래 링크 내용의 nightly와 test 항목 참조.
https://docs.docker.com/engine/install/
명령어 실행 후 vi로 /etc/apt/sources.list.d/docker.list 파일을 열어보면 출력된 결과가 파일 내에 작성되어진 걸 볼 수 있다.
아래 명령어로 도커 엔진의 가장 최신 버전과 index 패키지를 다운로드한다.
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
** 도커 엔진의 특정 버전이 필요하다면 아래 이미지 또는 공식 매뉴얼 참조
도커의 다운로드와 설치가 끝났다.
아래 명령어로 기본 도커와 같이 설치되는 Hello-world 이미지를 run 한다.
$ sudo docker run hello-world
'DevOps > Kubernetes & Docker' 카테고리의 다른 글
Dockerfile 작성하기 (0) | 2023.09.16 |
---|---|
쿠버네티스 네임스페이스 확인하고 변경하기 (0) | 2023.08.27 |
Casablanka 빌드용 Dockerfile (0) | 2023.04.26 |
[Docker] Ubuntu:20.04 컨테이너 Django 환경 구축 (0) | 2022.03.31 |
[Docker] Docker Repository (3) (0) | 2022.03.24 |
[Docker] Docker 사용하기 (2) (0) | 2022.03.24 |
댓글