일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- uname
- sudoer
- nvidia
- 우분투 22.04 패스워드 초기화
- sysstat
- Cat
- 모니터링
- NGC
- 도커 설치
- grub
- nvidia-docker
- TensorFlow
- ethtool
- ifconfig
- passwd
- Ubuntu 22.04
- 패스워드초기화
- A100
- 도커
- netplan
- CUDA
- 리눅스 기본명령어
- TAIL
- 우분투
- python
- 엔비디아 도커
- docker
- dmesg
- 우분투패스워드초기화
- V100
- Today
- Total
또이리의 Server Engineer
우분투 18.04 도커 설치 본문
우분투 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
도커의 공식 GPG 키를 추가합니다.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
오타 없으니 한 줄, 한 줄 가져다 붙이시면 됩니다.
그다음에는 레포지터리를 추가합니다. 이것도 그냥 갖다 붙이시면 됩니다.
$ 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
도커 설치가 목적이신 분들은 여기서 설치 과정이 끝이 났습니다.
정상적으로 도커가 설치되었는지 확인해 보겠습니다.
$ sudo 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 |