Ubuntu 16.04에서 Docker 설치

Ubuntu Xenial 16.04 (LTS)에서 docker 설치하는 방법입니다.

apt sources update

  1. sudo 또는 root 권한으로 로그인한다.
  2. 패키지 정보 업데이트 및 CA certificates 설치, APT가 https로 동작할 수 있도록 설치한다.

    $ sudo apt-get update
    $ sudo apt-get install apt-transport-https ca-certificates          
    
  3. GPG key 추가

    $ $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    
  4. /etc/apt/sources.list.d/docker.list을 편집기로 열어서 (없다면 생성한다.) 모든 내용을 삭제한다.

  5. 아래 내용을 추가한다.

    deb https://apt.dockerproject.org/repo ubuntu-xenial main
    
  6. APT package index를 업데이트 한다.

    $ sudo apt-get update
    
  7. 오래된 저장소를 삭제한다.

    $ sudo apt-get purge lxc-docker
    
  8. 올바른 저장소에서 받은 지 검증한다.

    $ apt-cache policy docker-engine
    
  9. linux-image-extra 패키지를 설치한다.

    $ sudo apt-get install linux-image-extra-$(uname -r)
    

설치

  1. sudo 권한으로 로그인한다.
  2. APT package index를 업데이트 한다.

    $ sudo apt-get update
    
  3. Docker를 설치한다.

    $ sudo apt-get install docker-engine
    
  4. docker daemon을 시작한다.

    $ sudo service docker start
    
  5. docker가 정상적으로 설치되었는지 확인한다.

    $ sudo docker run hello-world
    

Docker group 생성

  1. sudo 권한으로 로그인한다.
  2. docker group을 생성한다.

    $ sudo groupadd docker
    
  3. 사용자 계정을 docker group에 추가한다.

    $ sudo usermod -aG docker $USER
    
  4. 로그아웃 후 다시 로그인 한다.
  5. sudo 권한없이 docker container가 기동되는지 확인한다.

    $ docker run hello-world
    

Enable UFW forwarding

  1. sudo 권한으로 로그인한다
  2. UFW가 설치되어 있고 enable되어 있는지 확인한다.

    $ sudo ufw status
    
  3. /etc/default/ufw파일을 열어서 DEFAULT_FORWARD_POLICY 설정한다.

    DEFAULT_FORWARD_POLICY="ACCEPT"
    
  4. 새로운 설정을 반영하기 위해 UFW를 다시 로딩한다.

    $ sudo ufw reload
    
  5. Docker port를 오픈한다.

    $ sudo ufw allow 2375/tcp
    

DNS server 설정

  1. sudo 권한으로 로그인한다
  2. /etc/default/docker 파일을 열어서 아래 설정을 추가합니다.

    DOCKER_OPTS="--dns 8.8.8.8"
    
  3. multiple DNS server 설정도 가능하므로 내부에서 사용하는 DNS Server가 있다면 아래와 같이 설정한다.

    --dns 8.8.8.8 --dns 192.168.1.1
    
  4. Docker daemon을 재시작한다.

    $ sudo service docker restart
    

부팅 시 Docker 자동으로 실행

부팅할 때 Docker daemon이 자동으로 실행되게 하려면 아래 명령을 실행한다.

$ sudo systemctl enable docker

Docker Upgrade

$ sudo apt-get upgrade docker-engine

삭제

Docker package 삭제

$ sudo apt-get purge docker-engine

Docker package와 의존성있는 파일 모두 삭제

$ sudo apt-get autoremove --purge docker-engine

위 명령으로는 image, container, volume들과 사용자 설정 파일들이 삭제되지 않는다. 삭제를 원한다면 /var/lib/docker 디렉토리를 삭제한다.

$ rm -rf /var/lib/docker

Martin

Read more posts by this author.