카테고리 Archives: Apache

Docker 빌드 ‘ㅅ’a

Docker 의 는 단순한 가상화 OS 이다 ‘ㅅ’a

보통 OS 테스트를 할때 이용 할수 있다.

일반적인 사용 법은 image 를 pull 해서 받아온다음에 run 을 통해 실행을 시킨다.

 

좀더 깊게 들어가면 엔지니어가 세팅할때 쓴 명령어를 Dockerfile 으로 만들어서 build 명령을 통해서 docker image 를 만들고 배포 할 수 있다.

배포된 이미지는 개발자가 pull 해서 잘 쓸꺼라고 생각한다.


윈도우 에서 C:\ 드라이브에 dockerWORK 이란 폴더를 생성 하고, Dockerfile 이라는 확장자가 없는 txt 파일을 만든다.

주된 내용은 서버에서 apache 2.4 와 php-fpm 7.3.x 를 구성하기 위한 명령어 및 설정값을 수정 하는 명령어 모음 이다.

 

cmd 창을 열어서 아래와 같이 빌드명령을 실행한다.

목적이 Docker hub 에 배포 하기 위함 이므로 내docker ID 인 san0123/ 을 넣고 뒷부분에는 사용한 OS 와 설치되는 서비스 명을 붙여 rocky8-http-php 으로 명명 하였다.

설치하는 목적상 php 버전만 변경 되기 때문에 태그로 php 버전을 명시 하였다. :7.3

–no-cache 옵션은 빌드시 캐쉬된 부분을 무시하는 옵션.(테스트로 빌드를 마구 하다보면 필요한 옵션)

빌드는 실제 서버에서 명령을 실행한것처럼 순차 실행이 되기 때문에 시간은 오래 걸린다.

컴퓨터 사양에 따라 틀리겠지만 위 Dockerfile은 약 4분 가량 소요 되었다.

 

아래와 같이 생성된 docker 이미지를 확인할 수 있다.

 

생성된 이미지는 아래 명령어로 점검을 해보고 나서 배포하는것을 추천한다. (검사 안하고 올리면 위험할수 있다고 경고 나온다.)

 

Docker 허브에 배포를 진행 한다.

배포가 완료 되었다 ‘ㅅ’a

 

2022-01-14_195909

생성한 이미지를 업로드 한뒤에 docker 허브 사이트를 접속 하면 자신이 업로드한 Docker 이미지를 확인할 수 있고

사용 설명등을 써준다 ‘ㅅ’a (누구나 검색해볼수 있기 때문에 영어로 ?)

https://hub.docker.com/r/san0123/rocky8-http-php

 


 

배포된 이미지를 다운 받아 사용 하는 방법은 다음과 같다.

또는 아래와 그림과 같이 이미지에서 run 에서 옵션을 주어 실행하면 된다.

2022-01-18_100246

 

실행 명령어상 자신의 PC의 80 포트는 컨테이너의 apache 의 80 포트로 연결 하고

윈도우의 w:\project-1 경로를 서버내 /var/www/html 으로 연결 하기 때문에 w:\project-1\index.php 를 아래와 같이 생성 하고 브라우져로 http://127.0.0.1 으로 접속 하면 phpinfo 를 확인 할 수 있다.

2022-01-14_194515

httpd 의 access_log, error_log 등은 아래 그림과 같이 도커에서 직접 확인이 가능 하다.

2022-01-18_094532

서버의 터미널 접속은 아래와 같이 docker 프로그램에서 클릭을 통해 접속이 가능 하다.

2022-01-14_195252

cli 접속은 php.ini 혹은 httpd.conf 등을 수정 하려고 했을것이고, 적용을 위해 apache 혹은 php-fpm 을 재시작 해야 하는 경우 아래와 같이 재시작 버튼으로 컨테이너를 재시작을 한다.

2022-01-18_162550

컨테이너 재시작을 하는 경우 CLI 가 닫히는것은 어쩔수 없다…..