When the startup command –– CMD in Docker lingo –– is "postgres" it does a bunch of initialization operations, and then runs the user procided scripts in the /docker-entrypoint-initdb.d directory.
Then finally it starts up the postgres process with gosu postgres "$@". The gosu is a wrapper that passes user commands to the end process, i.e. postgres, and I'm not sure what $@ is but I think it's to give the user a shell.