사용자 도구

사이트 도구


wiki:3party:docker:도커파일_사용법

도커파일 사용법

  • description : 도커파일 사용법
  • author : 치킨5분컷
  • email : hgkim@repia.com
  • lastupdate : 2022-11-22 Tue


사전에 설치가 필요한 프로그램

  • 도커
  • 리눅스 배포판 프로그램(이 글은 우분투 22.04 버전 사용.)

아래 명령어들은 어디서 쳐야하나?

  • 사전에 설치한 리눅스 배포판을 실행하여 이용한다.

도커파일란?

  • 이미지 생성에 필요한 설정 파일
  • Dockerfile은 텍스트 형식이며, 인프라 구성을 기술한 파일을 “Dockerfile” 이라고 함. 확장자는 따로 존재하지 않음.
  • Docker 이미지를 작성하기 위해서는 다음과 같은 내용들이 필요합니다.
    1. 베이스가 될 Docker 이미지
    2. Docker 컨테이너 안에서 수행한 조작(명령)
    3. 환경변수 등의 설정
    4. 재사용 가능
  • 구조화 데이터나 오브젝트를 문자열로 변환하기 위한 데이터 형식의 한 종류.

Dockerfile 명령어

명령어 역할
FROM Docker Base Image (기반이 되는 이미지, <이미지 이름>:<태그> 형식으로 설정)
MAINTAINER 메인테이너 정보
RUN Shell Script 또는 명령을 실행
CMD 컨테이너가 실행되었을 때 명령이 실행
LABEL 라벨 작성 (docker inspect 명령으로 label 확인할 수 있습니다.)
EXPOSE 호스트와 연결할 포트 번호를 설정한다.
ENV 환경변수 설정
ADD 파일 / 디렉터리 추가
COPY 파일 복사
ENTRYPOINT 컨테이너가 시작되었을 때 스크립트 실행
VOLUME 볼륨 마운트
USER 명령 실행할 사용자 권한 지정
WORKDIR “RUN”, “CMD”, “ENTRYPOINT” 명령이 실행될 작업 디렉터리
ARG Dockerfile 내부 변수
ONBUILD 다른 이미지의 Base Image로 쓰이는 경우 실행될 명령 수행
SHELL Default Shell 지정

Dockerfile을 통한 이미지 파일 생성 방법

1. hgkim@LAPTOP-266L93S4:/usr/bin$ sudo mkdir DockerCompose                       # Docker가 있는 디렉토리에 DockerCompose디렉토리 생성.
2. hgkim@LAPTOP-266L93S4:/usr/bin/DockerCompose$ sudo vi Dockerfile               # DockerCompose디렉토리로 이동후 도커파일 생성 및 작성.
FROM centos:7.9.2009                                                                            #base 이미지 파일.
 
RUN yum -y update\                                                                              #이미지 시작시 컨테이너에 설치될 명령어
&& yum -y install sudo\
&& yum -y install net-tools\
&& yum -y install libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel\
&& yum -y install firewalld\
&& yum -y install openssh-server openssh-clients openssh-askpass
 
ENTRYPOINT ["/sbin/init", "systemctl start firewalld", "systemctl restart sshd.service", "systemctl start sshd.service", "systemctl status sshd.service" ] 
#ENTRYPOINT ["실행명령어", "인자1", "인자2", ... ] #설치시 /sbin/init을 사용해야될 명령어.

3.DockerBuild - 도커파일을 이미지 파일로 빌드시키는것. 도커컴포즈 파일을 이용하여 도커파일을 빌드하는게 일반적임.

  • 이유)도커컴포즈에서 빌드시 도커파일이 변경되어도 변경된 이미지를 빌드하여 사용하지만 도커파일에서 빌드시 새로운 이미지가 생기면 도커컴포즈에 이미지 이름도 바꿔야하기때문임.

만약 만든 이미지를 더이상 수정하지 않을꺼라면 아래 명령어를 통해 이미지 생성 가능.

 sudo docker build -t [만들고 싶은 이미지이름] [도커파일위치] 

도커컴포즈와 도커파일을 통한 활용 방법

  • 검색솔루션에 사용할 재사용 가능한 적절한 OS 이미지를 만들 수 있음.
  • 검색솔루션 설치(도커 기반) 과정을 줄일 수 있음.
/var/services/web/dokuwiki/data/pages/wiki/3party/docker/도커파일_사용법.txt · 마지막으로 수정됨: 2023/01/13 18:44 (바깥 편집)