본문 바로가기

DevOps/Docker

[Docker] Docker 설치

* 본 실습은 VMWare에 CentOS 7 버전으로 진행하였다.


Docker 환경 구성하기

  • 아래의 링크로 이동하여 Docker 설치를 진행한다.

https://docs.docker.com/

 

Docker Documentation

 

docs.docker.com

  • Download and install 클릭

  • Docker for Linux 클릭

  • CentOS 클릭

  • 아래의 명령어를 도커 환경을 구축할 Virtual Machine에 입력한다.

sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • 이후 아래의 명령어로 docker-ce.repo가 생성됨을 볼 수 있다.
ls -l /etc/yum.repos.d/docker-ce.repo

 

  • sudo yum repolist를 통해 docker-ce-stable이 존재하는지 확인해보자
sudo yum repolist

 

  • 이후 패키지 설치를 진행한다. 아래의 명령어를 기입하자.

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

# 패키지 설치 시 키 값이 뜨는데 일치하는지 확인 후 설치를 이어서 진행하자.

 

  • 도커 서비스를 시작하자.
sudo systemctl start docker.service
sudo systemctl enable docker.service

사용자를 Docker 그룹에 넣기

  • 그룹 확인
sudo grep docker /etc/group

  • user를 사용자 그룹에 추가하자
sudo usermod -aG docker user

# user가 추가됨을 확인할 수 있다.

  • 이후 재부팅 후 id 명령어 기입
id


도커 버전 확인

 

docker --version
docker version
docker version # 조금 더 세부적인 출력

# Client는 CLI를 의미한다

# SERVER는 도커 자체의 버전을 의미한다.


컨테이너 실행해보기 1

docker run hello-world

# 아직 컨테이너 실행에 대해 정확히 배우지 않았지만, 이 화면은 컨테이너를 실행시킨 결과이다.

 

  • 컨테이너 실행 시 명령어 기본형식은 다음과 같다.
docker container run <Docker 이미지명> <실행할 명령>
  • Hello World 컨테이너와 비교해보자
docker container run <Docker 이미지명> <실행할 명령>
docker run hello-world

# hello-world 는 이미지 명이고
# 실행할 명령은 따로 기입되지 않았다.

컨테이너 실행해보기 2

 

docker container run ubuntu:latest /bin/echo 'hello world'

# 우분투 이미지를 가져와서 /bin/echo 'hello world' 명령을 실행시키는 것이다.

# : 뒤 latest는 기본값이다. 작성하지 않는다면 기본값으로 latest를 지정하게 된다. 다른 값을 지정하고 싶다면 다른 태그를 이용하면된다.

 

docker run hello-world

# 이 명령어의 결과를 다시 자세히 보자

  • 한번 다시 실행시켜보자.

# Unable to find 가 뜨지 않았다. 이유가 뭘까?

# 첫 출력인 Unable to 부터 Status까지는 입력한 <이미지 파일명> 을 Docker Hub에서 찾는것이다.

# 발견한 이후에는 로컬에 이미지가 저장되고 실행까지 시키는 명령어이기 때문에 실행이 된것이다.

# 실행까지 시키지 않을 경우에는 pull명령어를 이용하여 로컬에 이미지를 저장한다.

# 그렇기에 두번쨰 이후 실행시엔 Unable이 뜨지 않고 실행이 됨을 볼 수 있다.

 

  • 우분투 실행시에도 마찬가지임을 볼 수 있다.

# Hello World를 우분투에서 실행을 시킨 것이다. 

# 짧은 찰나였지만 20MB정도를 필요로 하는 것을 볼 수 있다. 

# ova파일의 경우 기본 2.4GB정도의 공간을 할당하고, 그 위에서 서비스를 하였지만 이미지 파일을 이용해 컨테이너를 실행시킬경우 단 20MB로 우분투를 이용할 수 있었다.

# 그만큼 오버헤드가 적다는 것을 의미한다.

 

  • 우분투 이미지로 다른 명령어를 기입하여 컨테이너를 실행시켜보자
docker container run ubuntu:latest cat /etc/os-release

# 우분투라는 컨테이너가 정상적으로 동작함을 알 수 있다.


컨테이너 동작확인

docker system info

# 컨테이너 개수와 그 컨테이너들의 상태를 확인하는 명령어이다.

# 바로 밑의 Image 개수의 경우 도커의 로컬 레지스트리에 몇 개의 이미지를 가지고 있는지 알려준다

# Hello-world 와 ubuntu 이미지만 pulling 했으므로 2개의 image가 표시되고 있다.

# os 정보, 메모리상태 등을 나타낸다.

# Insecure Registries는 이미지를 받아오는 위치를 의미한다. 로컬 레지스트리의 위치이며 따로 건들 필요는 없다.

 

docker system df

# 리눅스의 df명령어와 같다고 볼 수 있다.

'DevOps > Docker' 카테고리의 다른 글

[Docker] Container 생성, 시작 및 정지  (0) 2021.09.16
[Docker] Docker 이미지 조작  (0) 2021.09.16
[Docker] 웹 서버 작동해보기  (0) 2021.09.13
[Docker] Docker의 개요  (0) 2021.09.13
[Docker] 컨테이너  (0) 2021.09.13