
docker image 빌드를 위해서 우선 Dockerfile을 작성해야함
주요 명령어)
# Dockerfile
FROM <이미지> 혹은 <이미지>:<태그> # base image 로 사용할 image 이름과 태그
ENV <환경변수명> <환경변수값> 혹은 <환경변수명>=<환경변수값> # 환경변수 설정
WORKDIR <작업경로> # 작업 경로 전환
COPY <복사하고자 하는 파일 혹은 디렉토리> <붙여넣을 경로> # 디렉토리나 파일 복사
ARG <입력 파라미터 이름> 혹은 <입력 파라미터 이름>=<디폴트 값> # docker build 할 때 --build-arg 를 통해 파라미터 전달
RUN <실행하고자 하는 커맨드> 혹은 ["<메인커맨드>", "<파라미터>", "<파라미터>",...] # 커맨드 실행
CMD <실행하고자 하는 커맨드> 혹은 ["<메인커맨드>", "<파라미터>", "<파라미터>",...] # 컨테이너를 띄울 때 기본으로 실행할 커맨드 실행
ENTRYPOINT <실행하고자 하는 커맨드> 혹은 ["<메인커맨드>", "<파라미터>", "<파라미터>",...] # 컨테이너에서 항상 실행 되어야 하는 커맨드 실행
EXPOSE <포트> 혹은 <포트>/<프로토콜> # 해당 포트/프로토콜 를 리스닝 상태로 만들어줌
예시)
# Dockerfile
FROM python:3.8
ENV bind 127.0.0.1:5000
WORKDIR /var
COPY requirement.txt ./
RUN apt update -y && pip install -r requirement.txt
CMD ["python", "./app.py"]
빌드할 Dockerfile 을 작성했으면 해당 Dockerfile이 있는 경로에서 다음 명령어를 실행하여 빌드 할 수 있음
docker build -t <이미지>:<태그> . # 태그 미지정 시 latest로 자동지정됨
** -t // —tag 옵션을 통해 이미지 태그를 지정하기
$ docker images
먼저 이미지 태그
# docker 레지스트리명 = regname
# 이미지 명:태그명 = testimage:1.0
$ docker tag testimage:1.0 regname/testimage:1.0
이미지 업로드
$ docker push regname/testimage:1.0
docker-compose 를 사용해서도 이미지를 빌드 할 수 있는데 이 방법은 다음에 포스팅 예정^^