또이리의 Server Engineer

우분투 18.04 도커 설치 본문

Linux Engineer

우분투 18.04 도커 설치

또이리 2020. 11. 8. 00:00

우분투 18.04 도커 설치

ubuntu 18.04 Docker 설치를 이번 스토리에서 알아보겠습니다.

Docker란 서버 OS에서 다양한 애플리케이션을 실행할 수 있는 환경을 컨테이너라는 가상 환경으로 실행할 수 있게 해주는 컨테이너 기반 오픈소스 가상화 플랫폼입니다. 설명이 좀 난해합니다.

 

서버 OS 안에 격리된 가상 환경을 만들어서 그 안에서 프로그램을 실행할 수 있게 해주는 플랫폼이라고 생각하시면 됩니다. 굳이 서버 OS에 프로그램과 그 프로그램을 구동시키기 위한 기반 프로그램을 설치하지 않아도 되겠습니다.

 

이미 컨테이너 안에 구축이 되어있기 때문에 컨테이너에 접속만 하면 됩니다. 이를 이용하면 복잡한 서버 환경을 쉽게 관리할 수 있습니다. 여러 사용자에게 쉽고 편리하게 환경을 배포할 수 도 있습니다.

 

아래 설치 설명이 길어서 그렇습니다만, 설치 명령어 자체는 몇 줄 되지 않습니다. 그것마저도 자동 설치 스크립트가 제공되고 있습니다.

 

Docker install 도커 설치하는 방법

GPU 사용을 위해서 Nvidia-docker를 설치하시려면 분들도 도커 설치는 선행되어야 합니다.

 

도커, 엔비디아 도커 둘 다 설치해야 GPU를 도커에서 활용할 수 있습니다.

일단 이번 스토리는 도커만 설치하겠습니다.

 

docker engine이 설치 가능한 우분투 버전은 LTS 64bit 버전입니다.

Ubuntu 20.04(LTS), Ubuntu 18.04(LTS), Ubuntu 16.04(LTS)

x86_64, amd64, armhf, arm64 아키텍처에서 지원됩니다.

 

우분투는 apt 패키지 관리자를 사용합니다. 먼저 이전 버전의 도커가 있다면 삭제합니다.

$ sudo apt-get remove docker docker-engine docker.io containerd runc

 

이전 도커 패키지가 삭제되거나, 이전 버전이 없었다면 바로 다음으로 넘어갑니다.

패키지를 업데이트해줍니다.

 

$ sudo apt-get update

Docker CE는 몇 가지 의존성 패키지가 있습니다. 우선 의존성 패키지 5가지를 설치합니다.

$ sudo apt-get install ap-transport-https ca-certificates curl gnupg-agent software-properties-common

docker install 1

도커의 공식 GPG 키를 추가합니다.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

$ sudo apt-key fingerprint 0EBFCD88

오타 없으니 한 줄, 한 줄 가져다 붙이시면 됩니다.

docker install 2

그다음에는 레포지터리를 추가합니다. 이것도 그냥 갖다 붙이시면 됩니다.

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 

레포지터리를 추가했으니, apt-get update를 사용해서 다시 패키지 목록을 업데이트해줘야 합니다.

 

자, 이제 사전 준비작업은 끝났습니다. 설치를 시작합니다.

$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

docker install 3

도커 설치가 목적이신 분들은 여기서 설치 과정이 끝이 났습니다.

정상적으로 도커가 설치되었는지 확인해 보겠습니다.

$ sudo docker run hello-world

docker run hello-world

위와 같이 프린트되시면 일단 도커 설치는 완료되었습니다.

정상적으로 도커가 실행되지 않는다면 아래 명령어로 확인이 가능합니다.

 

- 기존 실행 중인 도커 중지

$ sudo pkill -SIGHUP dockerd

 

저 같은 경우에는 처음 도커 설치 시에 기존 도커가 제대로 삭제되지 않았는지 이 명령어로 기존 도커를 중지시킨 후에 정상적으로 새로 설치한 도커가 실행되었습니다.

 

도커 사용을 위한 기본 명령어

- 도커 버전 확인

$ docker version

 

- 도커 서비스 시작

$ sudo systemctl start docker.service

 

- 도커 서비스 상태 확인

$ sudo systemctl status docker.service

 

systemctl 명령어는 enable, disable, status, state, start, stop, restart 등 다양한 명령어로 서비스를 설정하거나 확인할 수 있습니다.

 

기본 명령어

$ docker images - 도커 이미지 목록 확인

$ docker search 검색 키워드 - 도커 이미지 검색 (도커 허브에 등록된 레포지토리 검색)

$ docker pull [이미지명]:[버전] - 도커 허브에서 도커 이미지를 내려받을 때

$ docker image tag 기반 이미지명[:태그] 새 이미지명[:태그] - 이미지에 새로운 태그를 붙일 때 (식별용)

$ docker rename A B - A의 네임을 B로 바꿀 수 있습니다.

$ docker rmi [IMAGE ID] - 도커 이미지 삭제, 이미지 삭제 시 -f 옵션을 붙이게 되면 컨테이너도 강제 삭제됩니다.

 

$ docker ps -a - 컨테이너 목록 확인

$ sudo docker run [options] image [:TAG|@DIGEST] [COMMAND] [ARG...] -컨테이너 실행

 

[options]

-d detached mode 백그라운드 모드

-p 호스트와 컨테이너의 포트를 연결 (포워딩)

-v 호스트와 컨테이너의 디렉터리를 연결 (마운트)

-e 컨테이너 내에서 사용할 환경변수 설정

--name 컨테이너 이름 설정

--it -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션

(컨테이너의 표준 입력과 로컬 컴퓨터의 키보드 입력을 연결합니다.)

--rm 프로세스 종료 시 컨테이너 자동 제거

--link 컨테이너 연결[컨테이너명:별칭]
ex) $ sudo docker run -i -t --name server ubuntu:latest /bash

 

$ sudo docker start [CONTAINER ID or NAME] - CONTAINER 시작

$ sudo docker restart [CONTAINER ID or NAME] - CONTAINER 재시작

 

$ sudo docker attach [CONTAINER ID or NAME] - CONTAINER 접속

$ sudo docker stop [CONTAINER ID or NAME] - CONTAINER ID 정지

 

Bash Shell에서 exit 또는 Ctrl + D를 입력하면 컨테이너가 정지됩니다.

Ctrl + P, Ctrl + Q를 순서대로 입력하면 컨테이너를 정지하지 않고, 빠져나올 수 있습니다.

 

$ docker rm (--force) [CONTAINER ID or NAME] - 컨테이너 삭제

$ sudo docker rm `docker ps -a -q` - 모든 컨테이너 삭제

 

도커 이미지란?

- 도커 컨테이너를 만들기 위한 템플릿입니다.

- 도커 이미지는 운영 체체로 구성된 파일 시스템, 의존 라이브러리, 실행 환경의 설정 정보를 포함하는 아카이브로 구성됩니다.

- Dockerfile은 이미지를 구성하는 순서를 기술한 코드입니다.

 

도커 컨테이너란?

- 도커 컨테이너는 가상 환경입니다.

- 파일 시스템과 애플리케이션이 함께 담겨있는 박스라고 생각하시면 됩니다.

 

sudo 권한 없이 Docker 명령어 쓰기

$ sudo usermod -aG docker $USER # 현재 접속 중인 사용자에게 권한 주기

$ sudo usermod -aG docker your-user # your-user 사용자에게 권한 주기

사용자가 로그인 중 일 때는, 다시 로그인하면 권한이 적용됩니다.

 

마지막으로 도커 삭제까지 알아보겠습니다.

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io

$ sudo rm -rf /var/lib/docker

'Linux Engineer' 카테고리의 다른 글

우분투 18.04 엔비디아 도커 - 텐서플로우 설치  (0) 2020.11.09
Nvidia Tesla A100 - 8GPU error Xid 61  (0) 2020.11.08
리눅스 grep 명령어  (0) 2020.11.06
GeForce RTX 3080 vs RTX 3090  (0) 2020.11.04
리눅스 find 명령어  (0) 2020.11.03
Comments