Infra Architecture/Container

[Containerization] DockerFile 작성과 이미지 생성 및 배포

검은 까마귀 2023. 9. 18. 10:43

Docker를 사용하기 위해서는 Docker 이미지를 생성해줘야 합니다.

 

그렇다면 Docke이미지를 어떻게 생성해줘야 할까요?

방법은 2가지가 있습니다.

 

  1. 도커허브에 있는 이미지를 가져오기
  2. 도커이미지를 생성해주는 Dockerfile을 작성해서 생성한다.

 

1. 도커허브에 있는 이미지를 가져오기

docker pull <이미지 이름>

아주 간단하죠? 한번 실습 해보도록 하겠습니다.

 

docker pull alpine

이렇게 apline 이미지를 내려받을 수 있습니다.

pull 이라는 용어가 git과 매우 유사하지 않나요??

 

docker images

해당 명령어를 통해서 제가 pull한 이미지를 확인할 수 있습니다.


그렇게 어렵지는 않죠??

 


그렇다면 도커허브에 있는 이미지를 알아야겠죠??

도커의 공식웹사이트를 통해 알 수 있답니다 ㅎㅎ

 

https://hub.docker.com/search?q=&type=image 

 

Docker

 

hub.docker.com


2. 도커이미지를 생성해주는 Dockerfile을 작성해서 생성한다.

도커허브에 내가 원하는 이미지가 없거나 커스터마이징을 하고 싶은데.....

방법이 없을까? 한다면

 

방법이 있습니다. Dockerfile을 작성하는것이죠!!

공식문서에 따르면

 

Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. This page describes the commands you can use in a Dockerfile.

 

라고 작성이 되어있습니다.

 

 

즉, 다시말해 Dockerfile에서 instructions를 읽어 자동으로 이미지를 생성,배포한다는 것 입니다.

Dockerfile에는 어떤 instructions(명령어)가 있는지 알아보겠습니다!

 

# 베이스 이미지 설정
FROM ubuntu:latest

# 메타데이터 추가 (옵션)
LABEL maintainer="your-email@example.com"

# 환경 변수 설정 (옵션)
ENV MY_ENV_VAR=value

# 실행할 명령어 (옵션)
RUN apt-get update && apt-get install -y some-package

# 파일 추가/복사 (옵션)
ADD ./myfolder /app
COPY ./myfile /app

# 포트 열기 (옵션)
EXPOSE 80

# 실행할 명령어 (컨테이너가 시작될 때)
CMD ["executable", "param1", "param2"]

주요 명령어

  • FROM: 베이스 이미지를 설정합니다.
  • LABEL: 이미지에 메타데이터를 추가합니다.
  • ENV: 환경 변수를 설정합니다.
  • RUN: 이미지를 빌드할 때 실행할 명령어를 정의합니다.
  • ADD / COPY: 파일이나 폴더를 이미지 안에 추가/복사합니다.
  • EXPOSE: 네트워크 포트를 엽니다.
  • CMD: 컨테이너가 실행될 때 실행할 명령어를 설정합니다.
docker build -t your-image-name .

 

작성된 이미지는 이렇게 빌드하여 배포를 할 수 있게 됩니다!!

점( . )은 터미널의 현재 디렉토리에 있는 파일을 의미하게 되죠

 

그래서 저 구문을 해석해보면

현재 디렉토리에 Dockerfile을 찾아서 your-image-name라는 이미지로 생성하고 배포해줘

 이렇게 되겠죠??

 

더 자세한 사항은 공식문서를 통해 알아보시면 되겠습니다!

한국어도 지원해줬으면 좋겠당....

https://docs.docker.com/engine/reference/builder/

 

Dockerfile reference

Dockerfile reference Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. This page describes the com

docs.docker.com

 

마무리.

도커의 이미지를 생성하고 배포하는 방법을 알아보았습니다~

한국어 공식문서가 없는게 조금 아쉽네용.... 

 

 

반응형

'Infra Architecture > Container' 카테고리의 다른 글

[Containerization] 도커(Docker)  (0) 2023.09.15
[Containerization] 컨테이너  (0) 2023.09.15