How to dockerize your Spring Boot API | Docker Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ม.ค. 2025

ความคิดเห็น •

  • @cedescc7986
    @cedescc7986 6 หลายเดือนก่อน +15

    The video is nice but what impressed me even more is how you try to help almost everyone in the comments. You take time to answer everyone! Probs to you!

    • @Randomcode_0
      @Randomcode_0  5 หลายเดือนก่อน +3

      Thank you, I have been a bit busy lately, but I am trying to once again get through most comments!

  • @kunalsingh-wb1ju
    @kunalsingh-wb1ju 4 หลายเดือนก่อน +3

    I was stuck on the problem where I was not able to create the docker file for my project. Your video resolved my problem so easily. Thank you so much!

    • @Randomcode_0
      @Randomcode_0  4 หลายเดือนก่อน

      I'm so glad the video helped you solve the issue with your Docker file, thanks for the kind words!

  • @2PacFearless
    @2PacFearless 7 หลายเดือนก่อน +2

    I have finally found the video how to make docker images with Java on TH-cam :). Thanks, for great work and clear explanation. !!!

  • @Elysor832
    @Elysor832 ปีที่แล้ว +3

    Literally saved my life Thank you!

  • @andilesimelane4771
    @andilesimelane4771 ปีที่แล้ว +5

    Short and clean, thanks you earned and subscriber... I hope I will learn a lot from this channel, I like we you explain even the -d that amazing thanks

  • @theparten
    @theparten ปีที่แล้ว +1

    thanks hey i was able to spin up my small spring project to a docker image...be blessed❤...

  • @ayushkumarsaksena7996
    @ayushkumarsaksena7996 11 หลายเดือนก่อน

    Appreciate the simple explanation.
    Hope you make some more videos on Kafka end-to-end videos😅
    Context: Struggling with edl kafka changes in docker file.

  • @szymaniuk1983
    @szymaniuk1983 ปีที่แล้ว

    maaaan this is a good guide. Nice work man

  • @olivierboisse1678
    @olivierboisse1678 11 หลายเดือนก่อน +2

    What is the need for ARG JAR_FILE ?

  • @Go_with-Christ
    @Go_with-Christ 2 ปีที่แล้ว +5

    Good shit,why the 2nd line in dockerfile? You arent using it anywhere

    • @Randomcode_0
      @Randomcode_0  2 ปีที่แล้ว +1

      You are right, in this case, it does not do anything. Normally we would use:
      ARG JAR_FILE=target/*.jar
      COPY ${JAR_FILE} app.jar
      To copy any jar file, but in this video, I wanted to clearly showcase which file we were actually moving, so it stayed, and I can hear I am more or less explaining what it does but it is clearly not used in the video.

  • @vanbap
    @vanbap 3 หลายเดือนก่อน +2

    I encounter this Error when tried to run docker image:
    " Caused by: org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connection "
    Does anyone know the resolution to this error? Thank you so much!

    • @AntonioCabralNumberOne
      @AntonioCabralNumberOne หลายเดือนก่อน

      I presume that your Postgresql is running on another container, so instead of localhost, use the name of the postgresql container.

  • @abastecedorademateriales
    @abastecedorademateriales 11 หลายเดือนก่อน

    awesome content !! thank you very much !!!

  • @samorita89
    @samorita89 ปีที่แล้ว +3

    Short and helpful, Thanks for the video!

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      You're welcome! I'm glad you found the video helpful.

  • @orph4nsx
    @orph4nsx 7 หลายเดือนก่อน

    is it running as production or dev? can i choose this option to make it running in production mode?

  • @SalimPradhan-n7w
    @SalimPradhan-n7w 4 หลายเดือนก่อน

    Flash bang 😂 with the postman

    • @Randomcode_0
      @Randomcode_0  4 หลายเดือนก่อน

      I am so sorry :)

  • @NeoTechVision101
    @NeoTechVision101 5 หลายเดือนก่อน

    Hi! hopefully someone will answer, what if I am in production and does a lot of changes every other time, is there a way to auto reload without needing to mvn clean package and rebuilding in the docker?

    • @Randomcode_0
      @Randomcode_0  5 หลายเดือนก่อน +1

      At scale, a pipeline is used for updates. Keywords to investigate are CI/CD: CI (Continuous Integration) automatically tests the system, and CD (Continuous Delivery) automatically deploys changes. This is a huge field with many tools and customizable options. Hope this answers your question, otherwise, let me know.

  • @tank45b29
    @tank45b29 5 หลายเดือนก่อน

    Goated tutorial

  • @Golbyzshorts
    @Golbyzshorts ปีที่แล้ว +1

    I think we can use either of ADD COPY

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      In this case, ADD and COPY would do more or less the same. The main difference is that ADD can retrieve remote URLs and extract compressed files, while COPY only copies local files from the Docker host.

  • @גיאפרנסס
    @גיאפרנסס 6 หลายเดือนก่อน

    hi it didnt work for me for some reason cant connect them can you help me ?

  • @GrafBazooka
    @GrafBazooka 2 หลายเดือนก่อน +1

    But I don't have a jar file that is generated

    • @hindalla7888
      @hindalla7888 2 หลายเดือนก่อน +1

      you should execute 'mvn clean install' in your project terminal

  • @mrowox
    @mrowox ปีที่แล้ว +1

    Best video. thumbs up

  • @KlanBr1
    @KlanBr1 ปีที่แล้ว

    and if my app have a database connection? how i introduce my database inside the container, because i can´t stablish the conection because that.(sorry for my english)

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      Your database should either have a public IP that you can connect to, or it needs to be accessible on the same network. In a more real world setup, your container would run on a cloud network where they could communicate, if a public endpoint is not desired.

  • @theriddler2129
    @theriddler2129 5 หลายเดือนก่อน

    Nice content!

    • @Randomcode_0
      @Randomcode_0  5 หลายเดือนก่อน

      Glad you think so!

  • @friedec3622
    @friedec3622 ปีที่แล้ว

    How to maven install using dockerfile?

  • @stoiandelev12345678
    @stoiandelev12345678 ปีที่แล้ว

    Hi, when i open localhost:8000, nothing to show. But when i start application with Spring everythik work normal.Can help?

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      It is difficult to pinpoint the exact reason why it is not working, but my initial suggestions would be to check if the Docker container is connecting to the correct port that the Spring Boot application is exposing. If everything appears to be correct, you can consider accessing the container manually to investigate the issue further form inside the container.

  • @viktormykhasko9406
    @viktormykhasko9406 ปีที่แล้ว +3

    IMHO, the better idea is using JRE such as eclipse-temurin:17-jre-alpine instead of full JDK, the second line is useless or should be fixed and , maybe, from a security prospective - execute app in container as non root.

  • @mohammedislam733
    @mohammedislam733 ปีที่แล้ว

    But , when I have a hibernate crud app , it doesn't work , the error that the image can't connect to the jpa

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      A jpa issue indicates your service cannot connect to your database. If your database is in another docker container they need to be on the same docker network, and the db needs an open port where the service can connect.

    • @mohammedislam733
      @mohammedislam733 ปีที่แล้ว

      @@Randomcode_0 can u please do a toturiel about it!

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      I think that's a great idea! Which database are you using? Would you prefer a pure Docker setup or docker-compose?

    • @mohammedislam733
      @mohammedislam733 ปีที่แล้ว

      @@Randomcode_0 thanks bro for your response 🥰 , I'm new at both any toturiel will be good for me , I'm interested in your content, keep up the good work 😁

  • @acethoughtless1596
    @acethoughtless1596 ปีที่แล้ว

    Hello! First of all Congratulation for your video!!
    Well i have a problem , when i docker running this , it gives me an error messages about communication problem between the application and the MySQL database server.
    Well the main error seems to be a "Communications link failure" with a "Connection refused" exception. I can understand that docker cant access my database server for some reason!.
    I checked my database and everything is alright. Can you understand ,why this is happening ?

    • @filipkajanovic1425
      @filipkajanovic1425 ปีที่แล้ว

      Hello there, did you manage to solve the issue ?

    • @vanbap
      @vanbap 3 หลายเดือนก่อน

      i face the same problem. Did u manage to solve this issue?

  • @ismailforeveryone6889
    @ismailforeveryone6889 ปีที่แล้ว

    PLEASE i need a use case of spring boot 3 with zipkin running inside containers

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว +1

      I have jsut been trying out zipkin, I now have a working system using docker-compose. Where I start a zipkin server in a contianer and a simple spring boot rest api in another container. Every call to the spring api is then called as a trace (but no saved in any database). I asssume this is more or less what you asked for? I will make vidoe showcaing and talking about this setup some time soon. Please let me know if this does not solve your use case.

    • @ismailforeveryone6889
      @ismailforeveryone6889 ปีที่แล้ว +1

      @@Randomcode_0 thank you so much for your answer , the prob was latest versions of openzipkin have changed it's default port so the new endpoint to post zipkin trace is zipkin:
      tracing:
      endpoint:zipkin-server:9411/api/v2/spans , not zipkin-server:9411/ (which used with the oldest versions (this update made with spring boot 3

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      I am glad to hear you got it working!

    • @ismailforeveryone6889
      @ismailforeveryone6889 ปีที่แล้ว

      @@Randomcode_0 thank you so much dear coder , that's very kind of you

  • @damonmorgan963
    @damonmorgan963 ปีที่แล้ว

    ERROR: failed to solve: dockerfile parse error on line 5: unknown instruction: ENTRYPOINT["java",

    • @damonmorgan963
      @damonmorgan963 ปีที่แล้ว

      used CMD, removed brackets and quotes. It worked

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      Glad to hear you got it working.

  • @ffffff3525
    @ffffff3525 ปีที่แล้ว +1

    брат, от души, ты спас мое положение у меня через неделю защита дипломки

  • @abraaorochapb6394
    @abraaorochapb6394 9 หลายเดือนก่อน

    It works ! Ty

  • @christianchapoco5472
    @christianchapoco5472 ปีที่แล้ว

    finally, thanks man

  • @tolunaytoprakkaya2694
    @tolunaytoprakkaya2694 11 หลายเดือนก่อน

    Thank you so much

    • @Randomcode_0
      @Randomcode_0  11 หลายเดือนก่อน

      You're most welcome

  • @skccharan
    @skccharan 2 ปีที่แล้ว

    Thank you😊

  • @codelib2337
    @codelib2337 2 ปีที่แล้ว

    Thanks a lot!

  • @kjvik
    @kjvik 3 หลายเดือนก่อน +1

    The JAR line is unnecessary, you don't use it later.

  • @anirudhhosur3827
    @anirudhhosur3827 ปีที่แล้ว

    It says [java, : notfound

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว

      If you are running FROM a docker environment containing java it should no be a problem. When we use: ENTRYPOINT["java","-jar","/app.jar"] it is translated and run inside the docker container as: java -jar /app.jar
      Otherwise could you specify when you get this problem?

  • @ezraorina100
    @ezraorina100 2 ปีที่แล้ว

    Isn't openjdk deprecated?

    • @Randomcode_0
      @Randomcode_0  2 ปีที่แล้ว +2

      You seem to be right, I did not know that. It seems like we should use: "eclipse-temurin:17" instead. Thanks for letting me know

  • @Hamdiyazarss
    @Hamdiyazarss 11 หลายเดือนก่อน

    Thanks

  • @stonedcodingtom9097
    @stonedcodingtom9097 ปีที่แล้ว

    Thx

  • @Hamdiyazarss
    @Hamdiyazarss 11 หลายเดือนก่อน

    ADAMSIN

  • @CheeseStickzZ
    @CheeseStickzZ ปีที่แล้ว +7

    Useless. Your example is so superficial there is nothing to learn from it. At least show how to do it with spring boot maven plugin and build packs, or how to reduce the image size by running lite versions of your jre.

    • @abulka
      @abulka ปีที่แล้ว +1

      Dealing with dependencies would be useful info to cover too - my springboot app relies on some dependencies in my local .m2 maven repository, so crashes inside the container because the dependencies aren’t copied in. Trying to figure out the best way to do this.

    • @CheeseStickzZ
      @CheeseStickzZ ปีที่แล้ว

      @@abulka it's not your fault it's because the tutorial is trash. You need to use spring boot maven plugin with build packs. The command is build image. Look it up on Google

    • @Randomcode_0
      @Randomcode_0  ปีที่แล้ว +2

      I recommend trying to build a fat JAR, which is a JAR file that includes dependencies bundled within it. While I can't guarantee it will solve your problem, it's a good starting point and the first thing I would test.