앞서서 한 apache2 서버 실습을 dockerfile로 작성하면 다음과 같다.
FROM ubuntu
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get -y install apache2
ADD . /var/www/html
ENTRYPOINT apachectl -D FOREGROUND
ENV test Testing ENV
FROM ubuntu
: base image를 ubuntu로 설정ARG DEBIAN_FRONTEND=noninteractive
: 를 설정해주지 않으면 해당 dockerfile 빌드시 국가설정에서 넘어가지 않는다 ㅠ 왜인지는 찾아봐야겠음RUN apt-get update
RUN apt-get -y install apache2
: 실행할 명령어들ADD . /var/www/html
: '.'인 현재 host dir의 전체 파일을 destination /var/www/html
에 ENTRYPOINT apachectl -D FOREGROUND
: CMD service apache2 start와 같은 동작을 한다.ENV test Testing ENV
: 테스트용 환경변수 추가docker build . -t [image name]
docker run -it -p [host port]:[container port] -d [이미지 이름]
docker run -it -p [host port]:[container port] -v [docker file path]:[mount할 destination] -d [이미지이름]