Dockerfile 3

Mac M1에서 빌드한 이미지 - exec format error 해결 방법

배경 및 이슈 Logstash에 대한 도커 이미지를 빌드한 뒤, 쿠버네티스를 통해 deploy하려고 하였다. 이미지 빌드/푸시 시 에러가 뜨지 않았기 때문에 문제가 없을 것이라고 생각했는데, pod 가 제대로 실행되지 않아 로그를 살펴보니 아래와 같은 에러가 발생했다. standard_init_linux.go:228: exec user process caused: exec format error 원인 구글링 결과 이 원인은 매우 간단했다. 바로 m1 의 docker build image 기본 설정이 arm64이기 때문에, 포맷이 맞지 않아 발생한 것. 실제로 내가 빌드했던 이미지의 아키텍처 설정이 arm64인지 확인하기 위해서는 docker inspect 로 알 수 있다. docker inspect 그 ..

Docker airflow2 커스텀 이미지 빌드 과정

앞서, 기존에 생성된 이미지만을 이용해서 airflow 를 빌드했었는데, 오늘은 airflow 이미지 자체를 직접 빌드해보도록 하겠다. 왜 직접 빌드해야 하는지에 대한 이유와 공식 문서 소개, 그리고 airflow2 image 빌드 과정을 포스팅하겠다. 목차 airflow2 커스텀 이미지 빌드의 필요성 airflow2 이미지 빌드 공식 문서 01. airflow2 커스텀 이미지 빌드의 필요성 여담이지만 회사 면접을 봤을 당시, airflow를 도커로 띄워서 작은 프로젝트를 운영해 본 경험이 있다고 말씀드렸다. 이때 사수님께서 이미지 빌드 과정에 대해서 상세히 여쭤보았던 기억이 나는데, 이때 나는 이미 빌드되어져 있는 이미지를 활용해서 운영했었다라고 대답했던 기억이 난다. 그래서, 기회가 된다면 이미지부터..

03. Docker Image 생성하는 방법

이번 시간에, 나는 hello 문구를 출력하는 이미지를 생성하는 방법을 공부해보았다. 목차 Docker File 만들기 Docker File을 Image로 생성하기 01. Docker File 만들기 Docker Image를 생성하기 위해서는 Image가 될 File, 즉 Docker File을 만들어 주어야 한다. 우리는 생성한 Docker File을 이미지로써 만들어 서버에 저장할 것이다. 따라서 가장 먼저, Docker File을 만드는 방법을 알아보도록 하자. Docker File 생성 순서 1. 베이스이미지를 명시해준다. 2. 추가적으로 필요한 파일을 다운받기 위한 몇가지 명령어를 명시한다. (위 1,2 두가지는 파일 스냅샷에 해당한다.) 3. 컨테이너 시작시 실행될명령어를 명시해준다. 🔥 베이..