순서
1. Dockerfile 작성
1-1. index.html 준비
2. 톰캣 없이 아파치 서버 만들기
3. 빌드하기
JavaScript
복사
간단 개념정리
컨테이너가 날라가면 이 작업들은 다 날라간다.
그러니 커밋 잘 해야된다.
일단 다지우고 시작하자 컨테이너 / 이미지들
깨끗하게 하고 시작해야 안헷갈린다.
도커 파일, 프로비저닝
프로비저닝??
# 프로비저닝이란???
- IT 인프라를 생성하고 설정하는 프로세스
- 프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치 배포해 두었다가 필요시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다.
- 수작업을 최소화하고 스크립트로 짜놓는 것
- docker 파일을 활용해야된다.
JavaScript
복사
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
JavaScript
복사
httpd로 도커를 실행한다.
톰캣없이 아파치만 실행하는 환경
docker ps 명령어로
ContainerID를 찾는다. → 42f0
docker exec -it 42f0 bash로 실행해서
컨테이너 bash로 들어가본다.
웹서버 폴더 파악 하기
// index.html을 찾아주는 명령어
find / -name index.html
JavaScript
복사
엄청 많이 나온다.
여기가 웹서버 폴더라는 뜻!
일단 먼저 웹서버 폴더로 이동하고
cat 명령어로 해당 파일이 가지고있는 내용을 확인한다.
헤더1 태그로 it works!가 보이긴 하다.
Localhost:8080 으로 들어가보니 해당 문구가 걍 나온다.
웹 서버 폴더에서 자동으로 index.html을 찾아서 보여주는 듯
열려있는 포트 안내표시
EXPOSE 80은 해당 포트가 열려있다는 안내문 같은 것.
./www는 현재 폴더를 나타내고,
해당 폴더 내의 index.html을 수정해서, 아파치 서버에 복사해줄 것이다.
그게 Dockfile이 하는일!!
빌드하기
도커파일을 열어보자.
도커파일만 있으면 프로비저닝을 할 수 있다.
index.html 설정하기
오늘 완준이가 많이 졸아서, 완준이 코골이로 간단하게 작성해보자.
빌드 명령어와 태그 남기기
ex01 폴더로 이동해서 아래 명령어를 입력한다.
// 빌드 명령어와 태그 남기기
docker build -t wanjun1 .
JavaScript
복사
원래 wanjun .Dockfile 을 붙여줘야 되지만
도커파일(Dockerfile)은 키워드이기 떄문에 생략이 가능하다.
-t는 태그 명령어로, 나중에 wanjun이란 이름으로 쉽게 찾기 위해서 설정하는 것이다.
실행하기
docker images로 확인
// 실행 코드
docker run -d -p 9000:80 wanjun1
JavaScript
복사
정상적으로 실행되면 해시값을 받음.
localhost:9000 으로 접속하면 해당 글귀가 보이게 된다.
프로젝트에 도커파일만 있으면 된다.