Crud React spring-boot app returns 404 when client is in Docker

I’m trying to include the React part of a simple CRUD React/Spring-boot application into Docker. It works fine when neither side is in Docker. But when I create a docker file from the front end and run it, I get the initial login page, but after that, it’s the default white label error page with a 404 code.

The network activity shows it’s trying to make a call to http://localhost:808/private, which looks like it may be the redirect to the error page.

I’m thinking the problem may be that the back end needs to be in the container as well, which is the ultimate plan. But I’m not sure if that’s the problem. It seems like an app in a container should be able to make an API call to the outside of the container.

Here’s the nginx.conf file:

# auto detects a good number of processes to run
worker_processes auto;

#Provides the configuration file context in which the directives that affect connection processing are specified.
events {
    # Sets the maximum number of simultaneous connections that can be opened by a worker process.
    worker_connections 8000;
    # Tells the worker to accept multiple connections at a time
    multi_accept on;

http {
    # what times to include
    include       /etc/nginx/mime.types;
    # what is the default one
    default_type  application/octet-stream;

    # Sets the path, format, and configuration for a buffered log write
    log_format compression '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $upstream_addr '
        '"$http_referer" "$http_user_agent"';

    server {
        # listen on port 80
        listen 80;

        # save logs here
        access_log /var/log/nginx/access.log compression;

        # nginx root directory
        root /var/www;

        # what file to server as index
        index index.html index.htm;

        location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to redirecting to index.html
            try_files $uri $uri/ /index.html;

        # Media: images, icons, video, audio, HTC
        location ~* .(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
          expires 1M;
          access_log off;
          add_header Cache-Control "public";

        # Javascript and CSS files
        location ~* .(?:css|js)$ {
            try_files $uri =404;
            expires 1y;
            access_log off;
            add_header Cache-Control "public";

        # Any route containing a file extension (e.g. /devicesfile.js)
        location ~ ^.+..+$ {
            try_files $uri =404;

Any ideas/thoughts are most welcome.

Source: StackOverflow