Docker 사용방법

Published: Apr 20, 2020 by Dev-hwon

Docker

doker 설치

  • 리눅스/ 우분투 터미널에 입력

    curl -fsSL https://get.docker.com/ | sudo sh
    

    or

    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
    sudo apt update
    sudo apt-cache policy docker-ce
    sudo apt install docker-ce
    

docker 사용

  • 실행하고있는 컨테이너 목록 확인

    sudo docker ps
    
  • 설치된 이미지 목록 확인

    sudo docker images
    
  • openTSDB 이미지 다운 - docker hub에서 다운

    sudo docker pull petergrace/opentsdb-docker
    
  • openTSDB 이미지로 컨테이너 실행

    sudo docker run -dp (외부port):4242 petergrace/opentsdb-docker
    
    • 사용 가능한 외부포트 : 60000 60010 60030 4242 16010 16070
  • docker container 삭제

    sudo docker rm -f (container id)
    
  • docker image 삭제

    sudo docker rmi -f (image id)
    
  • 코드를 이미지화 하는 방법

    sudo docker build -t (docker hub 아이디)/(이미지 이름):(버전) (디렉토리)
    

    ex)

    sudo docker build -t cschae1123/dockertest:v1 .
    
  • 이미지화 한 코드 실행

    sudo docker run (docker hub 아이디)/(이미지 이름):(버전)
    

    ex)

    sudo docker run cschae1123/dockertest:v1
    
  • docker build options

     --file , -f		Name of the Dockerfile (Default is ‘PATH/Dockerfile’)
     --memory , -m		Memory limit
     --rm	true	Remove intermediate containers after a successful build
     --tag , -t		Name and optionally a tag in the ‘name:tag’ format
    
  • docker run options

    -i : 컨테이너와 상호작용
    -t : tty(터미널)을 사용
    -d : -i 옵션의 반대. 컨테이너를 백그라운드 실행
    -p [외부포트]:[내부포트] : 포트포워딩 설정 ex) -p 80:8080 -> 외부에서 들어온 80포트 요청을 컨테이너의 8080 포트로 포워딩시킨다. 포트를 여러개 열고 싶으면 -p 80:8080 -p 8088:8088 -p 27017:27017 이런식으로 이어서 쓰면 된다.
    -v : [외부절대경로]:[내부절대경로] : 컨테이너 외부(호스트) 볼륨과 컨테이너 내부 볼륨을 바인딩시킨다.
    -c : cpu 스케줄링 점유율 (기본값 1024)
    -m : 메모리
    -rm : 컨테이너가 종료되면 삭제
    /bin/bash: 리눅스의 경우 컨테이너에서 bash 쉘을 이용
    
    • 컨테이너 자원 할당에 관한 -c, -m 옵션

      -c, 또는 –cpu-share라고 쓰이는 옵션은 cpu 스케쥴링에서 컨테이너가 얼마나 많은 부분을 차지할지를 나타낸다. 기본 값은 1024이다. 이 옵션을 아예 주지 않았을 때의 기본 값이 1024라는 뜻은 일반적인 컨테이너의 2배만큼 cpu를 사용하게 하고 싶다면 2048을 주면 된다. 사용방법은 -c 1024 이다.

      -m 옵션은 메모리 제한이다. 바이트, 키로바이트, 메가바이트, 기가바이트 순으로 넣을 수 있으며 컨테이너가 해당 메모리 제한을 넘어가게 되면 자동으로 컨테이너가 종료됨. -m 500m 과 같이 사용할 수 있다.

docker compose

  • docker compose를 이용하면 명령어 한번으로 container를 다수 실행 가능
  • docker compose는 기본적으로 docker-compose.yml 파일을 기반으로 실행

  • 참고 : https://docs.docker.com/compose/production/
도커 Docker