[docker] 설치 및 사용법

somnode·2020년 9월 27일
1

Ubuntu 기준

docker 설치

> sudo apt-get install -y docker     # 설치
> sudo systemctl start docker     # docker daemon 시작

docker 사용법

도커 이미지 다운로드

> sudo docker pull ubuntu:16.04

도커 이미지 목록 확인

> sudo docker images

컨테이너 생성

# sudo docker run --rm -it <이미지 이름:태그> <명령어>
> sudo docker run --rm -it ubuntu:16.04 bash
  • 필요에 따라 아래의 옵션을 추가하여 컨테이너 생성 가능
    • --rm: 컨테이너 종료 시 컨테이너 삭제
    • -it: 컨테이너 내부에서 키보드 입력이 가능하도록 함
    • -v <로컬 디렉터리>:<타겟 디렉터리>: <로컬 디렉터리>를 도커 내부의 <타겟 티렉터리> 경로로 마운트함
    • --name <컨테이너 이름>: <컨테이너 이름>으로 컨테이너를 생성
    • -w <디렉터리>: <디렉터리>를 워킹 디렉터리로 지정
    • --gpus all: 도커 내부에서 gpu를 사용하려고 할 때

컨테이너 목록 확인

> sudo docker ps	# 현재 실행 중인 컨테이너 목록
> sudo docker ps -a	# 실행 종료되었지만 삭제되지 않는 컨테이너를 포함한 목록

실행 중인 컨테이너 접속

> sudo docker exec --rm -it <컨테이너 ID> bash

실행 종료된 컨테이너 재시작

> sudo docker restart <컨테이너 ID>

도커 이미지 이름 및 태그 변경

> sudo docker tag <변경 전 이미지 이름:태그> <변경 후 이미지 이름:태그>

도커 이미지 생성

  • Dockerfile을 사용하여 이미지 생성
    • Dockerfile에서 ADD를 사용하여 로컬 컴퓨터에 존재하는 파일을 도커 이미지 내부로 복사하려는 경우, 해당 파일이 존재하는 위치에서 아래 명령을 수행해야 한다.
    • 만약, 해당 경로가 Dockerfile이 존재하는 경로와 동일하다면 -f <Dockerfile 경로> 옵션은 제거해도 괜찮다.
> sudo docker build -f <Dockerfile 경로> -t <생성할 이미지 이름:태그> .
  • 실행 중인 docker를 이미지로 생성
> sudo docker commit <컨테이너 ID> <생성할 이미지 이름:태그>

도커 허브에 업로드

  • 만약 직접 구축한 도커 레포지토리가 http 프로토콜만을 지원한다면 /etc/docker/daemon.json 파일을 아래와 같이 수정한다.
{
	"insecure-registries": [
    	"[IP 주소]:[Port 번호]"
    ]
}
> sudo docker login
> sudo docker push <이미지 이름:태그>

도커 이미지 / 컨테이너 삭제

도커 이미지를 삭제하려면 실행 중인 컨테이너가 없어야 한다.

> sudo docker rm -f <컨테이너 ID>	# 도커 컨테이너 삭제
> sudo docker rmi -f <이미지 ID>		# 도커 이미지 삭제

실행 중인 상태로 도커 빠져나오기

  • Ctrl+p, Ctrl+q를 차례대로 누른다.

0개의 댓글