👉 간단 개념정리

컨테이너가 날라가면 이 작업들은 다 날라간다.
그러니 커밋 잘 해야된다.
🔹 일단 다지우고 시작하자 컨테이너 / 이미지들

깨끗하게 하고 시작해야 안헷갈린다.
👉 도커 파일, 프로비저닝
🔹 프로비저닝??
# 프로비저닝이란??? - IT 인프라를 생성하고 설정하는 프로세스 - 프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치 배포해 두었다가 필요시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. - 수작업을 최소화하고 스크립트로 짜놓는 것 - docker 파일을 활용해야된다.
👉 Dockerfile작성
🔹 폴더구조 생성

ex01 폴더를 만들고 >> www 폴더 만들고 내부에 index.html 생성
ex01 내부 최상위에는
Dockerfile
생성 (이거 철자 틀리면 안됨!!)
톰캣없이 아파치만 사용하는 환경
CMD는 리눅스 명령어, 이미지가 실행될 때 자동으로 실행되게 할 수 있다.
🔹 COPY 명령어 설명

로컬에 있는 폴더를 도커시스템에 복사하는 것, 소프트 링크가 아니다.

./www 폴더를 /usr/local/apache2/htdocs로 옮기겠다는 뜻, 오른쪽은 아파치에서 사용하는 폴더
index.html을 ./www 내부에 만들어놓으면 아파치서버로 옮겨진다.
👉 톰캣 없이 아파치서버 만들기

docker run -dit -p 8080:80 httpd:2.4
httpd로 도커를 실행한다.
톰캣없이 아파치만 실행하는 환경

docker ps 명령어로
ContainerID를 찾는다. → 42f0

docker exec -it 42f0 bash로 실행해서
컨테이너 bash로 들어가본다.
🔹 웹서버 폴더 파악 하기
// index.html을 찾아주는 명령어 find / -name index.html

엄청 많이 나온다.

여기가 웹서버 폴더라는 뜻!

일단 먼저 웹서버 폴더로 이동하고
cat 명령어로 해당 파일이 가지고있는 내용을 확인한다.
헤더1 태그로 it works!가 보이긴 하다.

Localhost:8080 으로 들어가보니 해당 문구가 걍 나온다.
웹 서버 폴더에서 자동으로 index.html을 찾아서 보여주는 듯
🔹 열려있는 포트 안내표시

EXPOSE 80은 해당 포트가 열려있다는 안내문 같은 것.

./www는 현재 폴더를 나타내고,
해당 폴더 내의 index.html을 수정해서, 아파치 서버에 복사해줄 것이다.
그게 Dockfile이 하는일!!
👉 빌드하기
🔹 도커파일을 열어보자.

도커파일만 있으면 프로비저닝을 할 수 있다.
🔹index.html 설정하기

오늘 완준이가 많이 졸아서, 완준이 코골이로 간단하게 작성해보자.
🔹 빌드 명령어와 태그 남기기

ex01 폴더로 이동해서 아래 명령어를 입력한다.
// 빌드 명령어와 태그 남기기 docker build -t wanjun1 .
원래 wanjun .Dockfile 을 붙여줘야 되지만
도커파일(Dockerfile)은 키워드이기 떄문에 생략이 가능하다.
-t는 태그 명령어로, 나중에 wanjun이란 이름으로 쉽게 찾기 위해서 설정하는 것이다.

실행하기

docker images로 확인

// 실행 코드 docker run -d -p 9000:80 wanjun1
정상적으로 실행되면 해시값을 받음.

localhost:9000 으로 접속하면 해당 글귀가 보이게 된다.
프로젝트에 도커파일만 있으면 된다.