I’m not sure I know what you mean? If you want Apache in a container to propagate through to port 80, you have a couple option. You can bind the docker internal port 80, to the host port 80. Meaning do something like ‘docker run -p 80:80 somewebapp’. Then you can go to http://$host_ip and it will go to the web app in the container. Of you want it to be on port 3000, but accessable via port 80 in a web browser you will need to nat it through or have another interface on the host.
So you could run you container and have it listen on port 3000, and then on the host where the docker daemon is running, bring up a network interface with the ip of the website, and port 80, and nat it to port 3000