생성일: 2022년 2월 13일 오후 3:29
태그: Dockerfile
ENTRYPOINT ["bin/sh"]
docker run -dit -p 9999:80 --name httpdweb3 myweb3
그런데!! 생성은 되었지만 오류가 뜨는 것을 할 수 있다.
이러한 이유는 바로 이미 포트 번호가 할당이 되어있어서 그런다!
Docker ps를 통해서 간략하게 확인하면
이미 포트가 할당 된 것을 볼 수 있다. 우리는 이것의 실행을 멈춰줄 거다
—> stop 과 rm 명령어를 활용하자!
잘 실행되는 것을 볼 수 있다.
inspect를 통해서 정상적으로 들어가 있는 것을 볼 수 있다.
예를 들어 저희가 패키지를 업데이트 할때 이미지가 생성되게 되는데
이미지 층을 그대로 쌓이면서 이미지가 만들어지게 된다.
이런 기존에 있는 이미지 층을 RUN이라는 명령어를 통해서 무언가 추가적으로 덮어씌울 때 사용이된다.
도커 파일을 만들어 주자(여기서는 아파치 서버를 사용할 것이다)
vi Dockerfile-apache
파일명은 다음과 같이 해주자!
FROM ubuntu:18.04
LABEL maintainer="dream@fun-coding.org"
RUN apt-get update #패키지 정보 업데이트 / layer1
RUN apt-get install -y apache2 #layer2
COPY ./2021_DEV_HTML /var/www/html/
ENTRYPOINT ["/usr/sbin/apache2ctl","-D","FOREGROUND"]
유념해야할점!! 각각의 패키지 / 버전 마다 다르다!!
apache2는 폴더(/var/www/html)로 다르다!!
and "/usr/sbin/apache2ctl","-D","FOREGROUND" 도 동일하게 조금은 다르다!
build—>이번엔 좀 길다
docker build --tag myweb4 -f Dockerfile-apache .
RUN —> 홈페이지가 뜨는 것을 볼 수 있다.
docker run -dit -p 9999:80 --name httpdweb4 myweb4
FROM ubuntu:18.04
LABEL maintainer="dream@fun-coding.org"
RUN apt-get update #패키지 정보 업데이트 / layer1
RUN apt-get install -y apache2 apt-utils #layer2
COPY ./2021_DEV_HTML /var/www/html/
ENTRYPOINT ["/usr/sbin/apache2ctl","-D","FOREGROUND"]