참조
https://docs.docker.com/engine/reference/commandline/docker/
docker
docker: The base command for the Docker CLI.
docs.docker.com
1 아파치 서버
mod_jk 설치된 도커 이미지 웹서버 만들기
이미지를 빌드 하기위해서는 도커 설치( 컨테이너 이미지는 alpine을 사용 도커 사용법은 상단 링크 )
containerd runtime은 이미지 빌드 기능이 없다
# 도커 허브 알파인 이미지를 이용해서 컨테이너를 생성 후 bash shell 접속
# 패키지 업데이트, 아파치 및 컴파일러 설치
apk update OR apk upgrade
apk add apache2-dev ( httpd-devel )
apk add build-base ( gcc )
# 커넥터 다운 및 컴파일러 구성
wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
tar –xvf tomcat-connectors-1.2.48-src.tar.gz
cd tomcat-connectors-1.2.48-src/native/
./configure --with-apxs=/usr/local/apache2/bin/apxs
# 컴파일 후 설치
make
make install
# jk_global.h:152:10: fatal error: sys/socketvar.h: No such file or directory 오류 발생 시 소켓 파일 추가
# 참조 https://github.com/firesurfing/alpine-mod_jk
vi /usr/include/sys/socketvar.h ( 경로 )
/* This header is used on many systems but for GNU we have everything
* already defined in the standard header. */
#include <sys/socket.h>
# 위 작업을 dockerfile로 만들어서 빌드하기 ( 도커 사용법 상단 링크 )
# httpd.conf 및 workers_jk.properties 개인에 맞게 생성
FROM httpd:2.4.43-alpine
RUN apk upgrade && \
apk add apache2-dev && \
apk add build-base
COPY socketvar.h /usr/include/sys/socketvar.h
COPY httpd.conf /usr/local/apache2/conf/httpd.conf
COPY workers_jk.properties /usr/local/apache2/conf/workers_jk.properties
RUN wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz && \
tar -xvf tomcat-connectors-1.2.48-src.tar.gz && \
cd tomcat-connectors-1.2.48-src/native/ && \
./configure --with-apxs=/usr/local/apache2/bin/apxs && \
make && \
make install
# 완료된 컨테이너를 commit 하여 변경 된 이미지를 생성한다 ( 도커 사용법 상단 링크 )
# 글쓴이 도커허브 ( komin86/apa ) 사용가능
2 톰캣 서버
# 웹앱을 만들어서 도커이미지 생성 ( 부트 기반 웹앱을 dockerfile로 빌드 )
# 글쓴이 도커허브 ( komin/demo ) 사용가능
FROM openjdk:12-jdk-alpine
EXPOSE 8080
VOLUME /tmp
ADD demo.jar demo.jar
ADD demo_lib demo_lib
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","demo.jar"]
3 연동
# 아파치 와 톰캣 도커이미지 완성
# 만들어진 도커 이미지들 배포 ( 사용법은 쿠버네티스 배포 참조 )
# 배포 완료 후 정상 running 확인
# 글쓴이 걸 사용할 경우 아파치 파드 bash shell 들어가 workers_jk.properties 환경에 맞게 수정 후 아파치 재시작
# curl 테스트 완료 ( return "home" )
'docker & kubernetes' 카테고리의 다른 글
kubernetes deshboard 외부 접근 (0) | 2021.06.11 |
---|---|
쿠버네티스 인그레스 설정 (0) | 2021.06.04 |
쿠버네티스 배포와 노출 (0) | 2021.05.25 |
쿠버네티스 설치 및 설정 2부 (0) | 2021.05.11 |
쿠버네티스 설치 및 설정 1부 (0) | 2021.05.03 |