Dodanie bazy danych Postgresql wewnątrz Dockerfile

0

Cześć, mam problem do rozwiązania otóż mam Dockerfile z obrazem tomcata, chciałbym jeszcze tam dodać bazę z postgresem tylko mam problem jak to wszystko zebrać do kupy, ponieważ nie mam pojęcia jak stworzyć bazę danych w dockerfile. Oto mój Docker:

FROM tomcat:9.0.65-jdk11



RUN apt update
RUN apt install vim -y
RUN apt-get install postgres12
COPY ROOT.war 
WORKDIR /usr/local/tomcat
CMD ["catalina.sh", "run"]

jest tego więcej ale to jest zwykłe mkdir oraz COPY plików. Macie jakiś pomysł ? może skrypt napisać bashowy który uruchamia wewnątrz się podczas budowania kontenera oraz tworzy mi baze ? Wiem, niektórzy mi napiszą że mam zrobić obraz ubuntu zainstalować tomcata oraz postgresa tam, lecz chcę sobie uprościć pracę w przydzielaniu permisji oraz skrócić sobię pracę.

2

Słowo-klucz: docker-compose

0
iksde napisał(a):

Słowo-klucz: docker-compose

Chciałbym zrobić to na composie ale musi być to obraz z tego względu że osobą korzystającym z tego ma się po prostu w Docker Desktopie na Windowsie. I mają wchodzić do serwisu od razu za pomocą localhosta u siebie na przeglądarce

0

Tak jak napisali przedmówcy - najlepszy będzie docker-compose (którego jeszcze do końca nie czuję, ale poczuję :)). Jak już musisz wciskać bazę do tomcata, to możesz podejrzeć jak jest poskładany obraz postgresowy (https://hub.docker.com/layers/library/postgres/latest/images/sha256-6d61053f855256f165bde5b9cac3a4c69adcde0e395feb0d6f0cabe14e8aa947?context=explore), ale to proszenie się trochę o kłopoty (będziesz musiał w osobnym skrypcie odpalać i tomcata, i postgresa, woluminy, logowanie itd.)

0

Kubernetes też się nada. Zwłaszcza jak będziesz chciał skalować i np. wyrzucić bazę danych na osobną maszynę. Choć jeśli nie będziesz potrzebował rozbijać na wiele maszyn, to chyba lepiej docker compose, bo kubernetes to trochę overkill w tym przypadku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1