Docker

[Docker] Dockerfile 생성하기

언킴 2022. 3. 1. 23:24
반응형

컨테이너에서 commit을 한 후 이미지를 생성하게 되면 이미지 안에 어떤 파일이 설치되고, 어떤 파일이 있는지 확인하기가 어렵다 그렇기 때문에 우리는 Dockerfile을 만들어 사용할 수 있다. 체계적인 이미지를 만들기 위해서는 Dockerfile 이라는 약속된 폴더를 만들어서 컨테이너를 생서할 수 있다. Dockerfile을 만들기 위해 임의의 폴더를 한 번 생성해보자. 

$ mkdir docker_folder
$ cd docker_folder

docker_folder 라는 것을 만들어 docker_folder에 접근한 후 해당 폴더 내에 'Dockerfil'e을 생성해야된다. Dockerfile은 확장자가 없는 파일을 의미한다. 해당 폴더 내에 다음과 같은 코드를 입력해서 환경을 만들어주자.

 

FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install -y git

FROM은 어떤 이미지로부터 이미지를 생성할 것인가를 지정해주는 코드이며, 해당 코드가 없다면 이미지를 생성할 수 없다. ubuntu:18.04가 아닌 다른 이미지를 가지고와서 입력해도 무방하다. 그 후 RUN은 명령을 시행해라는 의미이며, 먼저 apt-get update를 수행한 후 apt-get install -y git를 실행하는 것이다. git을 설치하는 것을 확인할 수 있다. 

 

apt-get update는 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하라는 명령어이며, 설치되어 있는 패키지를 최신으로 업데이트하는 것이 아니라 설치 가능한 리스트를 업데이트하는 것이다. apt-get upgrade를 수행하게 된다면 apt-get install을 통해 설치한 패키지들을 최신 버전으로 업그레이드 할 수 있다. 또한 apt-get update를 통해 가져온 패키지들을 최신 버전에 맞게 업그레이드 해준다. 

 

- FROM : 도커의 이미지

- RUN : 스크립트 및 명령 실행

- LABEL : 라벨 작성 -> docker inspect 로 label 확인이 가능함

- ENV : 환경변수 설정

- ADD : 파일 및 디렉토리 추가

- COPY : 파일 복사

- ENTRYPOINT : 컨테이너가 시작될 때 스크립트를 실행

- USER : 사용자 권한 지정

 

$ docker build -t ubuntu:docker_folder .

위 코드를 powershell 혹은 cmd에 입력하게 되면 빌드$^\mathsf{build}$ 할 수 있다. 이미지에 제대로 Git이 설치 되었는지 확인해보자. 이미지는 Dockerfile을 기반으로 만들어진 이미지이기 때문에 어떤 파일들이 설치되었는지 한눈에 확인할 수 있다. 

$ docker run -i -t ubuntu:docker_folder bash

root@ba2d51593ef0:/# git --version
git version 2.17.1

해당 이미지에 git이 잘 설치 되어 있는 것을 확인할 수 있다. 

 

 

 


https://www.44bits.io/ko/post/easy-deploy-with-docker#dockerfile%EB%A1%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%A7%8C%EB%93%A4%EA%B8%B0 블로그를 참고했습니다.