Tomcat Docker 빌더하기 - t3qdev/nextg GitHub Wiki

docker 에서 기본 제공하는 서비스를 이용하면 편하지만 나와는 맞지 않을때가 있다 이럴 때는 나에게 맞게 커스트마이징 하여 빌더하여 사용 할 수 있다.

Dockerfile 작성

FROM docker.io/centos:latest
MAINTAINER  Sunny Lee <[email protected]>

# 기본 인스톨
RUN yum install -y java-1.8.0-openjdk net-tools wget openssh-server
RUN ssh-keygen -A
RUN echo "root:cloud3336" | chpasswd

RUN adduser t3q
RUN echo "t3q:cloud3336" | chpasswd
RUN su - t3q -c "wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.tar.gz -O /home/t3q/tomcat8.tar.gz"
RUN su - t3q -c "tar zxvf /home/t3q/tomcat8.tar.gz"
RUN su - t3q -c "mv apache-tomcat-8.0.35 tomcat8"

RUN sed -i '/\/tomcat-users/i<role rolename="manager">' /home/t3q/tomcat8/conf/tomcat-users.xml
RUN sed -i '/\/tomcat-users/i<user username="tomcat" password="cloud3336" roles="manager"/> ' /home/t3q/tomcat8/conf/tomcat-users.xml

# 포트 오픈
EXPOSE 22
EXPOSE 8080

CMD ["/usr/sbin/sshd","-D"]

패스워드 부분은 알어서 수정..

이제 빌더해보자.

# docker build -t t3q/tomcat8 .
# docker images

빌더후에는 생성된 이미지를 볼 수 있다.

이미지 실행

# docker run --privileged -itd --name tomcat8 t3q/tomcat8
# docker exec tomcat8 su - t3q -c "/home/t3q/tomcat8/bin/startup.sh"

SSH를 통한 접근도 가능하다. ssh t3q@서버

registry 서버에 이 이미지를 등록하면, 다른 호스트에서도 간단히 이미지를 받어 사용할 수 있다.