반응형
Recent Posts
Recent Comments
관리 메뉴

개발잡부

[docker] Dockerfile 본문

Docker

[docker] Dockerfile

닉의네임 2022. 9. 24. 18:52
반응형

Dockerfile이란?


이미지를 생성하기 위한 스크립트. docker build 명령어를 통해 이미지를 생성

 

Dockerfile 명령어

FROM 기반이 될 이미지(ex. OS)를 지정 FROM <이미지>
MAINTAINER 작성자의 정보를 기록 MAINTAINER <작성자 <메일>>
RUN FROM의 기반 이미지 위에서 실행될 명령어 RUN <명령어>
COPY 도커 컨테이너의 경로로 파일을 복사합니다 COPY <복사 할 파일 경로> <컨테이너 경로>
CMD 컨테이너 시작 이후, 컨테이너에서 실행될 파일 CMD <실행파일> <매개변수1> ...
ENV 도커의 환경변수를 설정 ENV <환경변수 이름> <값>
EXPOSE 연결할 포트 번호를 명시 EXPOSE <포트 번호1> ...

 

Dockerfile 작성 예시

debian:buster를 기반 이미지로 하고 nginx를 설치하는 도커파일의 예시입니다.
여기서 apt-get 명령어에 -y 옵션을 주면, 사용자의 응답이 필요할 때 자동으로 yes라고 답할 수 있습니다.

FROM debian:buster

MAINTAINER doo <doo@900gle.com>

ENV HELLO "hello 900gle!"

RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y nginx
RUN echo $HELLO

COPY srcs/test.sh /root/
CMD ["/bin/bash", "/root/test.sh"]

EXPOSE 80 443

환경변수 HELLO를 echo명령어로 출력하고 있으며, test 쉘 스크립트를 컨테이너의 /root경로로 복사한 뒤 실행시키고 있습니다.

 

 

Docker 빌드/실행 명령어

 docker 빌드/실행

build Dockerfile로 이미지를 생성 docker build <Dockerfile 경로> -t <생성할 이미지 이름>
run 생성한 이미지를 기반으로 도커를 실행 docker run <이미지 이름>

 

 docker run의 옵션

-i 컨테이너와 상호 입출력 활성화
-t tty 활성화. 주로 -i옵션과 함께 사용
-p 포트를 지정
-e 환경변수를 지정하거나 값을 변경

Dockerfile 사용 예시

docker build . -t myimage
docker run -it -p 80:80 -p 443:443 -e HELLO="hello world!" myimage
반응형

'Docker' 카테고리의 다른 글

[docker] Error response from daemon: network myapp not found  (0) 2022.10.29
[docker] docker rmi must be forced  (0) 2022.05.21
Portainer 설치  (0) 2020.03.22
레디스를 설치해보자  (0) 2020.03.04
Mac Docker Mysql 설치하기  (0) 2020.01.14
Comments