도커 이미지 · 4 min read · Nov 24, 2025

Docker Part 4: 커스텀 도커 이미지 빌드 및 배포

첫 번째와 두 번째 부분에서는 도커 컨테이너를 관리하기 위해 시스템을 준비하고 기술적 관점에서 도커 컨테이너를 사용하는 것이 다른 가상화 기술과 무엇이 다른지를 다루었습니다. 그런 다음 세 번째 부분에서는 도커 이미지에 대해 실습하고 기본 사항을 배우며 WordPress 또는 DokuWiki를 사용하여 첫 번째 Notepad 컨테이너를 만들었습니다.

이번 네 번째 부분에서는 도커 이미지가 어떻게 빌드되는지 살펴보고, 친구, 동료 및 커뮤니티와 다운로드하고 공유할 수 있는 나만의 커스텀 이미지를 만들 것입니다.

이 튜토리얼에서는 고래 도커 이미지를 사용할 것입니다. 고래는 도커의 공식 마스코트이며, 고래 도커 이미지는 터미널에서 메시지와 함께 소의 ASCII 그림을 생성하는 cowsay 프로그램을 닮았습니다. 또한 Tux 펭귄과 리눅스 마스코트와 같은 다른 동물의 미리 만들어진 이미지를 사용하여 그림을 생성할 수 있습니다.

도커 파일 소개

이전 부분에서는 도커 허브에 대해 소개하고, 도커 허브가 컨테이너 이미지 검색, 이미지 빌드 및 해당 이미지의 배포를 위한 클라우드 기반 중앙 리소스라는 것을 배웠습니다. 또한 도커 이미지가 기본 이미지 위에 여러 레이어로 구성된 이미지라는 것을 배웠습니다. 즉, 기본 이미지를 사용하면 도커 이미지에 적합한 운영 체제를 처음부터 만드는 번거로움을 없애고 소프트웨어가 위치할 상위 레이어를 사용자 정의할 수 있는 옵션을 제공합니다.

기본 이미지를 사용하여 커스텀 이미지를 만들기 위해서는 도커 엔진에 패키지 및 파일을 설치하고 구성하는 방법과 함께 관련 설정을 제공하는 지침을 제공해야 합니다. 이러한 지침은 “dockerfile”이라는 일반 텍스트 파일에 작성됩니다. 도커파일은 요리사에게 넘겨주는 레시피와 같으며, 요리사는 당신을 위해 훌륭한 식사를 요리합니다. 이러한 도커 파일은 “지침”이라고 불리는 간단하고 설명적인 단계 집합을 사용하여 작성됩니다. 각 지침은 이미지에 새로운 레이어를 생성합니다. 지침에는 명령 실행, 파일 또는 디렉토리 추가, 이미지에서 컨테이너를 시작할 때 실행할 프로세스 등이 포함됩니다. 이 과정은 셸 스크립트에서 일련의 명령을 설정하는 것과 같습니다. 이미지를 빌드하라는 요청을 하면 도커는 도커파일을 읽고 지침을 실행하여 최종 이미지를 반환합니다.

도커 이미지 빌드하기

커스텀 도커 이미지를 빌드하는 방법에는 두 가지가 있습니다. 컴퓨터에서 직접 빌드하거나, 이전에 이야기한 도커 허브를 사용할 수 있습니다. 이번 부분에서는 로컬에서 도커 이미지를 빌드한 다음 도커 허브 레지스트리에 게시하는 방법을 배웁니다.

도커파일을 사용하여 로컬에서 빌드하기

우리는 “Whale say” 이미지를 사용하여 커스텀 도커 이미지를 만들 것입니다. 이는 작은 도커 이미지(우분투 이미지 기반)로, 실행하면 프로그래밍한 내용을 말합니다.

먼저 터미널을 열고 다음을 입력하여 새 폴더를 만듭니다:

mkdir mywhale

이 디렉토리는 빌드를 위한 “컨텍스트” 역할을 합니다. 컨텍스트는 이미지를 성공적으로 빌드하는 데 필요한 모든 것을 포함하고 있다는 의미입니다.

다음 명령으로 새 폴더로 들어갑니다:

cd mywhale

그리고 다음을 입력하여 폴더에 도커파일을 만듭니다:

touch Dockerfile

이제 ‘ll’ 명령을 입력하면 우리가 만든 빈 도커파일을 볼 수 있습니다:

ll
$ ll  
total 8.0K  
-rw-rw-r-- 1 user user 0 23:26 Dockerfile

좋아하는 텍스트 편집기로 열고 다음을 추가합니다:

FROM docker/whalesay:latest

이 지침의 첫 번째 줄은 FROM 키워드를 사용하여 도커에 이미지가 어떤 이미지 기반인지 알려줍니다. 기존 whalesay 이미지를 기반으로 새로운 작업을 하고 있습니다.

다음으로 추가할 지침은 우리의 고래가 운세를 말할 수 있게 해줍니다. 이를 위해 우분투 저장소에서 사용할 수 있는 fortune 패키지를 사용할 것입니다(고래 이미지는 우분투 이미지 기반임을 기억하세요). fortunes 프로그램에는 고래가 말할 수 있는 지혜로운 격언을 출력하는 명령이 있습니다.

따라서 첫 번째 단계는 이를 설치하는 것입니다. 이를 위해 일반적인 apt install 지침을 추가합니다:

RUN apt -y update && apt -y install fortunes

이미지가 필요한 소프트웨어를 갖추면 이미지를 로드할 때 소프트웨어가 실행되도록 지시합니다. 이를 위해 다음 지침을 추가합니다:

CMD /usr/games/fortune -a | cowsay

위의 줄은 fortunes 프로그램에 무작위로 선택된 인용구를 cowsay 프로그램으로 보내도록 지시합니다.

이제 완료되었습니다! 파일을 저장하고 종료하세요.
“cat Dockerfile”을 실행하여 도커파일이 다음과 같은지 확인할 수 있습니다:

cat Dockerfile
FROM docker/whalesay:latest  
RUN apt-get -y update && apt-get install -y fortunes  
CMD /usr/games/fortune -a | cowsay

이제 모든 것이 (희망적으로) 좋아 보이므로 도커 이미지를 빌드할 시간입니다(명령 끝에 .을 잊지 마세요).:

docker build -t my-docker-whale .

위 명령은 현재 폴더의 도커파일을 가져와 “my-docker-whale”이라는 이미지를 로컬 머신에 빌드합니다.

다음 명령으로 도커 이미지가 실제로 컴퓨터에 저장되었는지 확인할 수 있습니다:

docker images

그런 다음 다음을 입력하여 도커 이미지를 실행할 수 있습니다:

docker run my-docker-whale

실행되면 다음과 같은 이미지를 얻을 수 있습니다.

도커 고래 이미지

도커 허브에 커스텀 도커 이미지 게시하기

다음 옵션은 생성한 도커 이미지를 도커 허브 레포지토리에 게시하는 것입니다. 이를 위해 도커 허브 가입 웹페이지에서 계정을 만들어야 하며, 여기서 이름, 비밀번호 및 이메일 주소를 제공해야 합니다. 도커 허브 서비스는 공개 도커 이미지에 대해 무료라는 점도 언급해야 합니다. 계정을 만든 후에는 이전에 생성한 이미지를 푸시하여 다른 사람들이 사용할 수 있도록 할 수 있습니다.

이를 위해 “my-docker-whale” 이미지의 ID와 TAG가 필요합니다.

다시 “docker images” 명령을 실행하고 도커 이미지의 ID와 TAG를 기록합니다. 예: a69f3f5e1a31.

이제 다음 명령으로 도커 이미지를 외부 세계로 보낼 준비를 합니다(명령의 계정 이름 부분은 도커 허브 프로필 페이지의 계정 이름입니다):

docker tag a69f3f5e1a31 accountname/my-docker-whale:latest

“docker images” 명령을 실행하여 새로 태그된 이미지를 확인합니다.

다음으로, “docker login” 명령을 사용하여 명령줄에서 도커 허브에 로그인합니다.

로그인 명령의 형식은 다음과 같습니다:

docker login --username=yourhubusername [email protected]

프롬프트가 표시되면 비밀번호를 입력하고 Enter를 누릅니다.

이제 새로 생성된 레포지토리에 이미지를 푸시할 수 있습니다:

docker push accountname/my-docker-whale

위 명령은 연결의 업로드 대역폭에 따라 완료되는 데 시간이 걸릴 수 있으며, 약 180MB의 데이터를 업로드합니다(우리의 예제에서). 완료되면 도커 허브에서 프로필로 이동하여 새 이미지를 확인할 수 있습니다.

커스텀 이미지 다운로드하기

도커 허브 레포지토리에서 이미지를 가져오려면 먼저 로컬 머신에서 원본 이미지를 삭제해야 합니다. 도커는 로컬 이미지와 원격 이미지가 동일하므로 허브에서 가져오는 것을 거부합니다.

이전 부분에서 기억하듯이 도커 이미지를 제거하려면 “docker rmi” 명령을 실행해야 합니다. ID 또는 이름을 사용하여 이미지를 제거할 수 있습니다:

docker rmi -f a69f3f5e1a31

이제 이미지가 삭제되었으므로 “docker run” 명령을 사용하여 도커 허브에서 계정 이름을 포함하여 이미지를 가져오고 로드할 수 있습니다.

docker run accountname/my-docker-whale

이전에 이미지를 삭제했기 때문에 더 이상 로컬 시스템에서 사용할 수 없으므로 도커는 이미지를 다운로드하여 지정된 위치에 저장합니다.

요약

이번 부분에서는 도커 파일을 생성하고, 기본 지침을 작성하고, 이를 레시피로 사용하여 이미지를 빌드하는 방법을 배웠습니다. 또한 새로운 커스텀 이미지를 도커 허브 레지스트리에 푸시하고 로컬 머신으로 가져오는 기본 사항도 다루었습니다. 이 도커 튜토리얼 시리즈의 다음 부분에서는 이미지 빌드 절차를 자동화하여 필요할 때마다 즉시 커스텀 이미지를 생성하는 방법을 보여드리겠습니다! 기대해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.