본문 바로가기
카테고리 없음

CentOS 에 도커 설치하기

by 감토끼 2020. 5. 17.

도커(Docker)를 Centos 에 설치하는 다양한 방법이 있지만 가장 간단하고 추천하는 방법은 Docker Repository를 통해 패키지 매니져로 설치하는 것입니다. 다음 명령어를 이용해서 Docker Repository를 먼저 추가합니다.

Docker Repository 추가

# yum-config-manager를 설치하기 위해 yum-utils 를 설치합니다.
$ sudo yum install -y yum-utils         

# docker repository 추가
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

 

도커 설치

sudo yum install docker-ce docker-ce-cli containerd.io

위 명령을 입력하면 도커 설치가 완료됩니다.

(참고) 위 명령어를 입력했을 때 다음과 같은 에러가 나면서 설치가 안될 수 있습니다.

Last metadata expiration check: 0:04:56 ago on Mon 18 May 2020 06:14:49 AM KST.
Error: 
 Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
  - package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.13-3.2.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

 위 메시지에 나온대로 --nobest 옵션을 추가하여 "best"로 추천하는 패키지가 아닌 다른 패키지를 이용해서 도커를 설치하면 됩니다. 다음과 같이 nobest 옵션을 추가해서 다시 시도해보세요.

sudo yum install docker-ce docker-ce-cli containerd.io --nobest

 

도커 실행

# 도커 데몬 실행
sudo systemctl start docker

# 도커 데몬을 서버 부팅시 자동으로 실행되도록 설정
sudo systemctl enable docker

 

설치 확인

도커 설치가 잘 됬는지 간단한 도커 이미지를 실행해봅니다.

$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest

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/

위와 같이 도커 안내 메시지가 출력되면 정상입니다.  

 

docker 그룹 등록

도커 명령어는 반드시 sudo 를 써야 합니다. 하지만 "docker" 그룹에 포함되있는 유저는 sudo 없이 도커 명령어를 사용할 수 있습니다. 다음과 같이 docker 그룹을 만들고 현재 로그인된 유저를 docker 그룹에 추가해줍니다.

# docker 그룹 추가
$ sudo groupadd docker

# docker 그룹에 현재 로그인된 유저를 추가
$ sudo usermod -aG docker $USER

# 새로운 그룹 사항 적용
$ newgrp docker

# 이제 sudo 없이 docker 명령을 사용가능 합니다.
$ docker run hello-world        

 

 

자세한 내용은 아래 링크에서 확인 가능합니다 :

https://docs.docker.com/engine/install/centos/

 

Install Docker Engine on CentOS

To get started with Docker Engine on CentOS, make sure you meet the prerequisites, then install Docker. Prerequisites OS requirements To install Docker Engine, you need a maintained version of...

docs.docker.com