Docker

Dockerfile 이미지 빌드하기

끈끈 2023. 6. 1. 01:24

 

Dockerfile이란?

 

  • docker 의 이미지를 직접 생성하기 위한 용도로 작성하는 파일
  • 기본이 되는 이미지를 지정한 후, 특정 패키지를 설치하거나 파일을 추가하는 등의 작업을 통해 사용자가 직접 이미지를 빌드하고 사용 가능

 

Dockerfile 작성하기

 

# 빌드할 때 사용할 이미지를 지정해줍니다.
FROM httpd:latest

# 현재 경로에 존재하는 index.html 파일을 컨테이너 내부로 복사합니다.
COPY ./index.html /usr/local/apache2/htdocs/index.html

 

 

Dockerfile에서 자주 사용되는 문법

 

# 빌드할 때 사용할 이미지를 지정
FROM httpd:latest

# 지정한 명령어 실행
RUN mkdir /app/

# docker 이미지에서 사용될 기본 경로 지정
WORKDIR /app/

# 지정한 파일을 컨테이너 내부로 복사
COPY ./app/ /app/

# 이미지에서 사용될 환경변수를 지정
ENV DEBUG 1

 

docker-compose.yml

 

version: '3.8' # docker-compose.yml에 사용될 문법 버전을 정의합니다.

services:
  example: # 서비스 이름을 지정합니다. 서비스 이름은 컨테이너끼리 통신할 때 사용됩니다.
    container_name: example # 컨테이너 이름을 지정합니다.
    build: . # 현재 경로에 있는 Dockerfile을 사용해 이미지를 생성합니다.
    ports: # 포트포워딩을 설정해줍니다.
      - 80:80 # 외부에서 80 포트로 접속했을 때 컨테이너의 80 포트로 연결해줍니다.
    restart: always # 컨테이너가 종료됐을 때 다시 실행시켜 줍니다.

 

 

index.html을 직접 만들고 docker 실행해보기

 

vi index.html : 내용 추가

sudo docker compose up --build -d
>> Dockerfile을 수정하고 이미지를 새로 빌드해야 할 때는 --build 옵션을 추가해서 사용

 

 

 

'Docker' 카테고리의 다른 글

docker-compose.yml 두 개 이상의 컨테이너 생성하기  (1) 2023.06.01
Docker entrypoint  (1) 2023.06.01
Docker volume  (4) 2023.06.01
Docker compose, port forwarding  (2) 2023.05.31
Docker 설치 및 docker container  (2) 2023.05.31