## 들어가기 Docker를 사용하다보면, 컨테이너 안 bash를 실행해서 추가 작업을 할 일이 생긴다. 공부나 토이 프로젝트 단계에서는 그냥 한 번 bash 켜서 코드치면 그만이지만, 계속해서 유지 보수를 해야 하는 실제 업무에서는 이런 방식은 극히 비효율적이다. Docker 답게 추가적인 작업 레이어를 이미지에 추가해서 자동으로 실행되도록 해야 한다. >**경험상 아래 경우는 커스텀 이미지가 확실히 편한 거 같다** >- API KEY 같은 접속 정보를 환경 변수로 설정하는 경우 >- 회사 내부 패키지를 특정 순서에 따라 설치해야 하는 경우 >- 포트 변경, 포트 공개 등 포트 설정을 손대야 하는 경우 >- 회사에서 인트라넷을 사용하는 경우 >- 로컬이나 원격 저장소에서 파일을 컨테이너 안으로 복사하는 경우 ## 기본 구조 ```yaml #Dockerfile ARG [인자 이름]=[디폴트 값] FROM [베이스 이미지]:[태그] MAINTAINER [이름] <[이메일]> RUN [이미지 빌드할 때 실행할 명령] WORKDIR [작업 공간] COPY [로컬 파일 경로] [붙여넣기할 파일 경로] ENV [환경 변수 이름] [환경 변수 값] EXPOSE [노출할 포트] CMD ["명령을", "공백", "기준으로", ",로 구분"] ``` - [[4. Dockerfile 작성 방법#참고 [Yaml 문법](https //lejewk.github.io/yaml-syntax/)|참고 : Dockerfile 작성 방법]] ```bash docker build [Dockerfile 경로] --tag [이미지 이름]:[태그] ``` ## 예시 ![[B. Airflow 커스텀 이미지 만들기#Airflow 커스텀 이미지]]