티스토리 뷰

Programming/Docker

[Docker] Docker?

Allg 2021. 5. 9. 16:54

Debug your app, not your environment 환경이 아닌 애플리케이션에 집중 컨테이너 기반의 오픈소스 가상화 플랫폼

  • 애플리케이션 패키징 포맷이자 일원화된 인터페이스와 방법론으로서 도커의 역할
  • 도커는 규모와 성능에서 큰 효율을 가져다줌
  • 도커와 리눅스 컨테이너가 가져온 가장 큰 혁신이자 중대한 변화는 애플리케이션 사용의 근본적인 변화
  • 도커는 리눅스 컨테이너에 기반이며 핵심이자 장점은 ‘가벼운 가상화’
  • 도커 컨테이너는 가상머신이라기 보다는 하나의 프로세스

도커는 어떤 애플리케이션이든 쉽게 배포 패키지를 만들고, 어떤 대규모 환경에서든 배포(이미지에 애플리케이션 및 환경을 포함)할 수 있으며, 빠르게 돌아가는 개발 조직의 작업 절차를 기민하고 효과적으로 수행하도록 도와주는 도구

  • 계층화된 파일 시스템이 기반
    • Union File System(UnionFS)
    • Union Mount
      • 복수의 파일시스템을 하나의 파일 시스템으로 마운트하는 기능
      • UnionFS는 Union Mount를 지원하는 파일 시스템의 종류
    • 도커 이미지는 UnionFS 로 오버레이되는 복수의 레이어로 구현
    • 도커 컨테이너는 이미지로 부터 생성되는 인스턴스
    • 하나의 이미지로 여러 개의 컨테이너 생성 가능
    • 이미지에서 변경 시 전체가 아닌 변경되는 부분들만 변경
  • 이미지는 불변한 저장 매체
  • TAG
    • 임의로 붙여진 추가적인 이름
    • 태그를 생략하면 latest가 사용됨
  • IMGAE ID
    • 이미지를 가리키는 고유한 해시 값
  • 도커에서 공식으로 제공하는 이미지는 네임스페이스 구분( / ) 가 없음

Dockerfile

Dockerfile 은 도커 이미지를 만드는 작업 지시서

  • OS, 명령어, 라이브러리 등을 설정
  • Dockerfile → Image → Container
  • 아래 예시는 centos7 에서 name.txt 파일 복사 후 들어 있는 내용을 보는 명령어를 실행하는 이미지
# 어떤 이미지를 사용할지 명시
FROM centos:7

# COPY parma1 param2 - param1(현재 디렉토리) 을 param2(컨테이너 내부 경로) 로 복사
COPY name.txt .

# 컨테이너 안에서 명령어 실행
CMD cat name.txt

Build


  • docker build
  • -t : 태그설정
    • 이름/이미지이름:버전 경로 {경로}
docker build -t allmind75/docker-test:1.0 .
  • 빌드 후 실행
docker run allmind75/dokcer-test:1.0

'Programming > Docker' 카테고리의 다른 글

[Docker] Docker Command  (0) 2021.05.09
[Docker] Docker Compose Command  (0) 2021.05.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함