Dodanie bazy danych Postgresql wewnątrz Dockerfile

Dodanie bazy danych Postgresql wewnątrz Dockerfile
SH
  • Rejestracja:ponad 3 lata
  • Ostatnio:ponad 2 lata
  • Postów:18
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:

Kopiuj
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ę.

SL
Generalnie jedna aplikacja -> jeden kontener. Nie łącz ich a już na pewno nie aplikacji z bazą
IK
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 2 lata
2

Słowo-klucz: docker-compose

SH
  • Rejestracja:ponad 3 lata
  • Ostatnio:ponad 2 lata
  • Postów:18
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

Patryk27
Docker Desktop wspiera docker-compose.yml przecież.
IK
I mają wchodzić do serwisu od razu za pomocą localhosta u siebie na przeglądarce ten warunek też jest spełniony
RN
  • Rejestracja:około 13 lat
  • Ostatnio:3 miesiące
  • Postów:5
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.)

MarekR22
Moderator C/C++
  • Rejestracja:ponad 17 lat
  • Ostatnio:4 minuty
0

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
KR
Moderator
  • Rejestracja:około 21 lat
  • Ostatnio:około 9 godzin
  • Postów:2964
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.

edytowany 1x, ostatnio: Krolik

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.