241211 TIL #560 AI Tech #93 Docker - 1

김춘복·2024년 12월 11일
0

TIL : Today I Learned

목록 보기
562/575

Today I Learned

오늘 배운 내용은 Docker!


Docker

애플리케이션을 컨테이너화하여 개발, 배포, 실행을 단순화하는 오픈소스 플랫폼

  • 애플리케이션과 필요한 모든 종속성을 하나의 독립된 단위로 패키징

  • 호스트 OS의 커널을 공유하면서도 격리된 환경에서 실행

  • Docker image
    템플릿. Read Only. OS와 설정을 포함한 실행환경
    원격 저장소에 image를 업로드하고, 필요한 곳에서 image를 받아 컨테이너로 실행한다.

  • Docker container
    image로 실행된 인스턴스. Write 가능

  • Docker hub
    도커의 공개된 이미지 저장소

  • cf. 쿠버네티스
    분산 노드 환경에서 콘테이너의 오케스트레이션을 수행

명령어

  • docker version : 도커 클라이언트와 서버 버전 정보
  • docker --help : 도커 명령어 도움말
  • docker run 이미지이름:태그 : 새 컨테이너를 생성하고 실행
    - --name 컨테이너 이름 -e 환경변수설정 -d 백그라운드로 실행 -p 포트 지정
    ex) docker run --name mysql_test -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:8
  • docker stop : 실행 중인 컨테이너를 중지
  • docker start : 중지된 컨테이너를 다시 시작
  • docker ps : 실행 중인 컨테이너 목록 표시
  • docker ps -a : 모든 컨테이너 목록 표시(중지된 것 포함)
  • docker rm 컨테이너이름(ID) : 멈춘 컨테이너 삭제. 실행중인걸 삭제하려면 -f 추가
  • docker images : 로컬 시스템의 이미지 목록 표시
  • docker pull : Docker Hub에서 이미지 다운로드
  • docker push : 이미지를 Docker Hub에 업로드
  • docker exec -it 컨테이너이름(or ID) /bin/bash: 실행 중인 컨테이너에 접속. ssh접속과 비슷

Volume Mount

  • 도커 컨테이너는 이 옵션이 없으면 컨테이너 안에 저장된 파일이 컨테이너가 삭제될 때 같이 사라진다. 따라서 host에 컨테이너의 저장소를 공유하는 Volume Mount 작업을 해야한다.

  • -v host_folder:container_folder 처럼 -p 옵션처럼 지정해두면 된다.

profile
Backend Dev / Data Engineer

0개의 댓글