Override function of ERPNext in docker

Hello everyone,
I install ERPNext via GitHub - frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNext.
Now, I want to override some functions but I don’t know which container is the core of ERPnext: back-end , scheduler, …
Every container also has the same apps folder (consist of python and js scripts).
The detail path is: /home/frappe/frappe-bench/apps/erpnext/erpnext/…

in case of development setup, use frappe container for operating bench commands.

all benches are created under frappe_docker/development directory. It is mounted in frappe container

I setup app on server so I use SSH and production guide. I only config single bench for single site on single server.
This is all container in my compose.

My question is: “If I want to override a function (send email), I will choose which container”.
PS: when I exec into back-end container, I could’t execute “bench init <…>” command line . Why ?

The screenshot you shared is for production setup. You need to build your own images if you wish to modify the core code.

Override FRAPPE_REPO and ERPNEXT_REPO to build from forks.

If you wish to build with custom apps, Official docs: frappe_docker/README.md at main · frappe/frappe_docker · GitHub, Example repo: GitHub - castlecraft/custom_frappe_docker

Docs to patch some code from official images: frappe_docker/patch-code-from-images.md at main · frappe/frappe_docker · GitHub