Dockerfile 형식

sm_cloud_life·2023년 3월 28일
0

docker

목록 보기
2/2
post-thumbnail
  • FROM
FROM <program language>:<version>

Dockerfile에 사용할 OS 및 OS 버전을 정의합니다.

  • RUN
RUN <command>

Dockerfile에 사용할 명령어를 정의합니다.

  • WORKDIR
WORKDIR <이동할 경로>
  • ENTRYPOINT
ENTRYPOINT ["<커맨드>", "<파라미터1>" , "<파라미터2>"] 
  • CMD
CMD ["<커맨드>","<파라미터","<파라미터>"]
CMD ["<파라미터1>","<파라미터2>"]
CMD <전체 커맨드>
  • EXPOSE
EXPOSE <포트>
EXPOSE <포트>/<프로토콜>
  • COPY
COPY <복사할 파일 경로> <이미지에서 파일이 위치할 경로> 
  • USER
RUN useradd <user name> #user name 추가
USER <user name> #사용자 지정

python compile file


FROM ubuntu:latest

WORKDIR /app
COPY ./app.py .
RUN apt update -y
RUN apt install -y python3-pip
RUN pip3 install flask
RUN python3 -m compileall ./app.py
RUN mv ./__pycache__/*.pyc ./app.pyc
RUN useradd python
USER python
EXPOSE 8080

CMD ["python3", "app.pyc"]

python file에 포트가 정의가 안되어 있을 경우


FROM ubuntu:latest

WORKDIR /app
COPY ./app.py .
RUN apt update -y
RUN apt install -y curl
RUN apt install -y python3-pip
RUN pip3 install flask
RUN useradd python
USER python

CMD ["flask", "run", "--host=0.0.0.0", "--port=8080"]

0개의 댓글