tomcat 및 mySql으로 도커 이미지를 작성 중입니다. 나는 Tomcat에 push 할 수있는 .war 파일을 가지고 있으며 docker 이미지는 예상대로 작동하고있다.docker에서 mySQL 용 데이터베이스 및 스키마 만들기
그러나 응용 프로그램에는 동일한 도커 이미지에서 mySQL에 대한 데이터베이스가 필요합니다 (여러 이미지를 실행하고 싶지 않으므로 크기가 작고 데모 전용입니다).
tomcat 이미지를 기본으로 사용하고 mySql을 설치합니다. 기본 OS는 우분투입니다. MySQL의 관련 항목없이
#Get the base
FROM davidcaste/debian-tomcat:tomcat8
#Add mySql
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get -y update
RUN apt-get -y install wget zip gcc
RUN { \
echo mysql-community-server mysql-community-server/data-dir select ''; \
echo mysql-community-server mysql-community-server/root-pass password ''; \
echo mysql-community-server mysql-community-server/re-root-pass password ''; \
echo mysql-community-server mysql-community-server/remove-test-db select false; \
} | debconf-set-selections \
&& apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
RUN /etc/init.d/mysql start
RUN wget http://github.com/xxxx/xxxx/blob/master/xxxx/src/main/resources/sql/create-schema.sql
RUN cp create-schema.sql /usr/
RUN wget http://github.com/xxxx/xxxx/blob/master/xxxx/src/main/resources/sql/metadata.sql
RUN cp metadata.sql /usr/
#RUN mysql -- this gives error
#RUN create database test; -- this gives error
#Get the Web Application from Nexus
RUN wget "http://mynexus:8081/nexus/service/local/artifact/maven/redirect?g=org.my&a=my-app&r=repo&e=war&v=LATEST" --content-disposition -O app.war
#Copy the war file
RUN cp app.war /opt/tomcat/webapps/
EXPOSE 8080
CMD ["catalina.sh", "run"]
(데이터베이스 등을 만드는)에 고정 표시기가 작동을 구축하고 그것을 잘 실행 :
여기 내 dockerfile입니다. 하지만 내 스키마 및 메타 데이터 SQL 파일을 사용하여 데이터베이스를 만드는 방법을 이해할 수 없습니다.
Docker Compose에 대한 권장 사항은 내가 사용하는 방법입니다. – nwinkler