김치킨 195
읽고 쓰는 프로그래머
김치킨 195
전체 방문자
오늘
어제
  • 분류 전체보기 (46)
    • 읽다 (1)
    • 쓰다 (12)
      • 자기계발 (6)
      • 지식관리 (1)
      • 글쓰기 (3)
      • 생각 (2)
    • 개발하다 (1)
      • 개발 (1)
    • 기타 (0)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 글쓰기
  • 도커
  • 리눅스
  • docker images
  • 컨테이너
  • PM2
  • 부자들의 초격차 독서법
  • RN
  • docker build
  • Docker
  • 아웃풋트레이닝
  • ReactNative
  • wls2
  • react-native
  • WSL2
  • 아웃풋 트레이닝
  • 리액트네이티브
  • 파인만 테크닉
  • vsCode
  • 네트워크 격리

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김치킨 195

읽고 쓰는 프로그래머

Docker File - Docker Image를 만들기 위한 명세서
카테고리 없음

Docker File - Docker Image를 만들기 위한 명세서

2020. 11. 16. 16:29
이전의 글에서 docker 컨테이너를 만들기 위해 docker hub에 있는 이미지들을 활용하였다. 
 
그럼 Docker Image는 항상 Docker hub에서 내려 받아야 하는 걸까?? 
 
내가 직접 내가 필요한 이미지를 만들어서 사용할 수는 없을까?? 
 
본 글에서는 Docker Image를 만드는 법을 설명한다. 
 
 

 
도커 이미지를 만들기 위해서는 먼저 도커 파일(Dockerfile)을 작성해야 한다. 
Dockerfile?? 
 
Dockerfile은 이미지를 만들기 위한 명세서다. 
 
Dockerfile을 이용해 간단한 메세지를 출력하는 이미지를 만들어보자 
 
 
# Dockerfile
# 베이스 이미지 명시
FROM alpine
 
# 컨테이너 시작시 실행 될 명령어를 명시해줍니다.
CMD [ "echo" ,"hello world" ]
 
해당 Dockerfile을 풀이하면 다음과 같다 
  • `alpine`을 베이스 이미지로 사용하고 `echo hello world`를 실행하는 이미지를 만들어라 
 
 
 
해당 파일이 저장된 위치에서 아래 커맨드를 실행한다. 
# 현재 디렉토리에서 docker build를 실행합니다.
docker build .  
 
 
 
 
현재 폴더에 있는 Dockerfile을 이용해 이미지를 빌드합니다. 
 
 
docker images
를 이용하면 생성된(+다운로드 된) 이미지들을 확인할 수 있습니다. 
 
 %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%22%20style%3D%22shape%3Dimage%3BverticalLabelPosition%3Dbottom%3BlabelBackgroundColor%3D%23ffffff%3BverticalAlign%3Dtop%3Baspect%3Dfixed%3BimageAspect%3D0%3Bimage%3Dhttps%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpHQsb%2FbtqD2FXLMtq%2FkB8gkF36DSJAgC4RIX4GaK%2Fimg.png%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22150%22%20y%3D%22190%22%20width%3D%22503.88%22%20height%3D%22250%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
현재 이미지가 생성됐지만 <REPOSITORY>와 <TAG>가 비어있습니다. 
 
이러면 이미지를 사용할 때 Image ID를 이용해야 할텐데 너무 불편하겠죠. 
 
 
docker build --tag <imgname>:<tag> . 
 
 
 
이렇게 이미지 이름: 버전 형식으로 이미지를 빌드하면 이름과 버전을 사용할 수 있습니다. 
 
 
    김치킨 195
    김치킨 195
    읽고, 쓰고, 개발한 기록을 보관합니다.

    티스토리툴바