Docker 사용법

JuhyeokLee·2022년 1월 17일
0
post-thumbnail

도커를 사용하는 이유

기존의 가상환경이 필요할 때에는 Virtual Machine을 사용했는데 이 것은 굉장히 무거웠기 때문에 도커는 컨테이너라는 가벼운 가상환경을 제공한다.

컨테이너 하나가 하나의 Virtual Machine 이자 커다란 프로세스이다.

도커 용어

  • Host
    컨테이너들이 설치된 곳의 OS, 하나의 호스트에는 여러개의 컨테이너 가능

  • Image
    컨테이너를 만들기 위한 설정 파일

  • Container
    Host에서 돌아가는 각각의 소프트웨어의 실행파일과 라이브러리를 격리된 공간에 배치한 기술

도커 사용 순서

  • 도커를 사용할 폴더로 가기
  • vim Dockerfile => 이미지 생성에 활용되는 설정 값 및 설치파일 pull 할경우, 2,3번 생략
  • docker build -t 생성할 도커 이미지 이름 . => 도커 이미지 생성, .은 Dockerfile위치
  • docker run -it --rm --name=새로 생성할 컨테이너 이름 이미지이름 /bin/bash(default라 안줘도 됨)
    (--rm 은 도커에서 나갈시 container 자동 삭제 명령, -it는 컨테이너 생성 후 컨테이너로 접속)
  • $ docker exec -it "컨테이너명" /bin/bash => -it 없다면 도커 컨테이너 내부 접속 명령어

도커 명령어

  • docker ps
    현재 실행중인 도커프로세스 리스트 불러오기

  • docker images
    이미지 리스트 불러오기

  • docker rm 컨테이너ID
    컨테이너 삭제

  • docker rmi 이미지id
    이미지 삭제

  • docker pull 도커허브이미지
    도커허브에서 이미지가져오기
    *도커허브 : Docker에서 제공하는 여러 이미지를 가져올 수 있는 사이트

  • docker stop 컨테이너ID
    컨테이너 중지

  • docker start 컨테이너ID
    컨테이너 실행

  • docker logs (-f) 컨테이너ID
    해당 컨테이너 로그 불러오기, -f 붙이면 로그를 불러오고 꺼지지않고 계속 확인가능(watch모드)

  • docker run -p hostPort:ContainerPort 이미지이름

    • -p는 Host와 Container를 연결하는 포트설정
    • 클라이언트가 요청을 보낼 때 호스트가 먼저 요청을 받고 그 요청을 호스트포트와 연결된 컨테이너 포트로 전송(port forwarding)
  • docker exec 컨테이너ID 명령어
    해당 컨테이너 안에서 실행한 명령어가 된다. 만약 docker exec ws ls 라면 ws라는 컨테이너 안의 모든 파일을 불러오는 명령어이다.

  • docker exec -it 컨테이너ID /bin/bash(sh)
    단순 exec는 한번만 컨테이너 안에서 실행한다면 이 명령어는 아예 컨테이너 안으로 들어가는 명령어 -it가 컨테이너 안으로 들어가는 명령어 나갈 땐 exit로 나감

  • docker run -p HostPort:ContainerPort -v 내가 연결시키고자 하는 폴더:컨테이너 안에 내가 연결하고자 하는 폴더
    -v 옵션은 호스트의 파일시스템과 컨테이너의 파일시스템을 연결시켜주는 옵션으로 호스트에서 값을 변경하면 컨테이너 내의 변경내용이 자동 저장된다

  • docker commit 컨테이너ID 이미지이름
    commit은 사용중인 container를 바탕으로 이미지를 만드는 명령어

profile
성장하는 개발자가 되겠습니다~

0개의 댓글