Ubuntu Xenial 16.04 (LTS)에서 docker 설치하는 방법입니다.
apt sources update
sudo또는root권한으로 로그인한다.-
패키지 정보 업데이트 및 CA certificates 설치, APT가 https로 동작할 수 있도록 설치한다.
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates -
GPGkey 추가$ $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D -
/etc/apt/sources.list.d/docker.list을 편집기로 열어서 (없다면 생성한다.) 모든 내용을 삭제한다. -
아래 내용을 추가한다.
deb https://apt.dockerproject.org/repo ubuntu-xenial main -
APT package index를 업데이트 한다.
$ sudo apt-get update -
오래된 저장소를 삭제한다.
$ sudo apt-get purge lxc-docker -
올바른 저장소에서 받은 지 검증한다.
$ apt-cache policy docker-engine -
linux-image-extra 패키지를 설치한다.
$ sudo apt-get install linux-image-extra-$(uname -r)
설치
sudo권한으로 로그인한다.-
APTpackage index를 업데이트 한다.$ sudo apt-get update -
Docker를 설치한다.
$ sudo apt-get install docker-engine -
dockerdaemon을 시작한다.$ sudo service docker start -
docker가 정상적으로 설치되었는지 확인한다.$ sudo docker run hello-world
Docker group 생성
sudo권한으로 로그인한다.-
dockergroup을 생성한다.$ sudo groupadd docker -
사용자 계정을
dockergroup에 추가한다.$ sudo usermod -aG docker $USER - 로그아웃 후 다시 로그인 한다.
-
sudo권한없이dockercontainer가 기동되는지 확인한다.$ docker run hello-world
Enable UFW forwarding
sudo권한으로 로그인한다-
UFW가 설치되어 있고 enable되어 있는지 확인한다.
$ sudo ufw status -
/etc/default/ufw파일을 열어서DEFAULT_FORWARD_POLICY설정한다.DEFAULT_FORWARD_POLICY="ACCEPT" -
새로운 설정을 반영하기 위해
UFW를 다시 로딩한다.$ sudo ufw reload -
Docker port를 오픈한다.
$ sudo ufw allow 2375/tcp
DNS server 설정
sudo권한으로 로그인한다-
/etc/default/docker파일을 열어서 아래 설정을 추가합니다.DOCKER_OPTS="--dns 8.8.8.8" -
multiple DNS server 설정도 가능하므로 내부에서 사용하는 DNS Server가 있다면 아래와 같이 설정한다.
--dns 8.8.8.8 --dns 192.168.1.1 -
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

