IT/Container

[Docker] Ubuntu 18.04.x LTS에 docker 설치 하기

louky 2021. 1. 7. 15:26
반응형

우분투에 docker를 설치 하는 방법이다. 

역시나 기억을 지배하기 위해 오늘도 끄적거린다. 

 

환경

  - 가상머신 ( Vbox or VMware)

  - OS : UBUNTU 18.04.5 LTS

  

Docker를 왜 사용하는지에 대해서는 다른 블로그에 많이 설명이 되어 있기에 여기서는 패스하고자 한다. 

 

간단히 설치 하는 방법과 설치가 제대로 되었는지에 대한 내용이다.

 

설치 방법

##### 시스템을 최신으로 하기 위한 업데이트를 한다. 
sudo apt update

##### 사전 설치를 한다. 
sudo apt install apt-transport-https ca-certificates curl software-properties-common

##### Docker repository key를 Add 한다. 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

##### Docker repository를 Add 한다. 
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

##### 시스템을 최신으로 하기 위한 다시 업데이트를 한다. 
sudo apt update

 

이제 시스템에 docket-ce를 설치하기 전어 설치 가능한 버을 확인 한다. (이 부분은 생략해도 무방하다)

ubuntu@test:~$ apt-cache policy docker-ce
docker-ce:
  설치: (없음)      ### 설치가 되어 있을 경우 설치 버전이 출력이 된다. 
  후보: 5:20.10.2~3-0~ubuntu-bionic
  버전 테이블:
     5:20.10.2~3-0~ubuntu-bionic 500
        500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
     5:20.10.1~3-0~ubuntu-bionic 500
        500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
~ (생략)
        500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
     18.06.0~ce~3-0~ubuntu 500
        500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
     18.03.1~ce~3-0~ubuntu 500
        500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages

 

확인이 되었으면 docker를 설치 한다. 

sudo apt install docker-ce

설치를 한 후에 위의 apt-cache policy명령어를 다시 사용해 보면 설치된 버전을 확인할 수 있다. 

ubuntu@test:~$ apt-cache policy docker-ce
docker-ce:
  설치: 5:20.10.2~3-0~ubuntu-bionic     ##### docker가 설치된 버전
  후보: 5:20.10.2~3-0~ubuntu-bionic
  버전 테이블:
 *** 5:20.10.2~3-0~ubuntu-bionic 500
        500 https://download.docker.com/l

docker가 정상적으로 설치가 되었는지를 간단히 확인하는 방법은 아래와 같다. 

### UBUNTU의 경우 apt를 이용하여 설치를 할 경우 Daemon이 대부분 실행 되고 있다. 
### Docker daemon실행 여부 확인 

ubuntu@test:~$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-01-07 14:47:12 KST; 1min 38s ago
     Docs: https://docs.docker.com
 Main PID: 14364 (dockerd)
    Tasks: 10
   CGroup: /system.slice/docker.service
           └─14364 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266045157+09:00" level=warning msg="Your kernel does not support CPU re
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266053988+09:00" level=warning msg="Your kernel does not support cgroup
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266058467+09:00" level=warning msg="Your kernel does not support cgroup
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.266200889+09:00" level=info msg="Loading containers: start."
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.356359854+09:00" level=info msg="Default bridge (docker0) is assigned w
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.469641142+09:00" level=info msg="Loading containers: done."
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.511255003+09:00" level=info msg="Docker daemon" commit=8891c58 graphdri
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.511335470+09:00" level=info msg="Daemon has completed initialization"
 1월 07 14:47:12 test systemd[1]: Started Docker Application Container Engine.
 1월 07 14:47:12 test dockerd[14364]: time="2021-01-07T14:47:12.549556827+09:00" level=info msg="API listen on /var/run/docker.sock"


### Docker가 실행 되고 있을 경우  Docker0라는 네트워크 인터페이스도 생성 된다.
### ifconfig 명령어가 실행이 안될 경우 sudo apt install net-tools를 실행한다. 

ubuntu@test:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:6f:6f:5e:67  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

- Dcoker version 확인 

 

usage : sudo docker version

ubuntu@test:~$ sudo docker version
Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:32 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.2
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8891c58
  Built:            Mon Dec 28 16:15:09 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

 

- Dcoker start/stop/status 확인 

 

 sudo systemctl start docker    ### docker 시작
 
 sudo systemctl stop docker     ### docker 종료 
 
 sudo systemctl status docker   ### docker 상태 확인 

 

 

이상 Docker 설치는 여기까지 입니다. 

반응형