Site icon 내일은 치킨집 CEO

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

 

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

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

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

 


 

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

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

 

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

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

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

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

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

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

Exit mobile version