Frappe_docker_create-site_1 with code 1 Exited and frappe_docker_configurator_1 with code 0 Exited

One of the container name frappe_docker_configurator_1 with the code 0 Exited and second container name of frappe_docker_create-site_1 with the code 1 Exited. In the docker container frappe_docker_configurator_1 have a nothing logs. But is another container frappe_docker_create-site_1 logs is mentioned below… and frappe_docker_backend_1 also have the logs … :point_down:

frappe_docker_create-site_1 logs
wait-for-it: waiting 120 seconds for db:3306
wait-for-it: db:3306 is available after 2 seconds
wait-for-it: waiting 120 seconds for redis-cache:6379
wait-for-it: redis-cache:6379 is available after 0 seconds
wait-for-it: waiting 120 seconds for redis-queue:6379
wait-for-it: redis-queue:6379 is available after 0 seconds
sites/common_site_config.json found
Site frontend already exists
wait-for-it: waiting 120 seconds for db:3306
wait-for-it: db:3306 is available after 0 seconds
wait-for-it: waiting 120 seconds for redis-cache:6379
wait-for-it: redis-cache:6379 is available after 0 seconds
wait-for-it: waiting 120 seconds for redis-queue:6379
wait-for-it: redis-queue:6379 is available after 0 seconds
sites/common_site_config.json found
Site frontend already exists
wait-for-it: waiting 120 seconds for db:3306
wait-for-it: db:3306 is available after 0 seconds
wait-for-it: waiting 120 seconds for redis-cache:6379
wait-for-it: redis-cache:6379 is available after 0 seconds
wait-for-it: waiting 120 seconds for redis-queue:6379
wait-for-it: redis-queue:6379 is available after 0 seconds
sites/common_site_config.json found
Site frontend already exists

frappe_docker_backend_1 logs
Traceback (most recent call last):
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/gunicorn/workers/gthread.py”, line 282, in handle
keepalive = self.handle_request(req, conn)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/gunicorn/workers/gthread.py”, line 334, in handle_request
respiter = self.wsgi(environ, resp.start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 79, in application
app(environ, start_response),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/werkzeug/wrappers/request.py”, line 190, in application
resp = f(*args[:-2] + (request,))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 132, in application
response = handle_exception(e)
^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 323, in handle_exception
allow_traceback = frappe.get_system_settings(“allow_error_traceback”) if frappe.db else False
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 2389, in get_system_settings
local.system_settings = get_cached_doc(“System Settings”)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1207, in get_cached_doc
doc = get_doc(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1333, in get_doc
doc = frappe.model.document.get_doc(args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 83, in get_doc
controller = get_controller(doctype)
^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 70, in get_controller
site_controllers[doctype] = import_controller(doctype)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 81, in import_controller
doctype_info = frappe.db.get_value(“DocType”, doctype, fieldname=“
”)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 519, in get_value
result = self.get_values(
^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 623, in get_values
out = self._get_values_from_table(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 896, in _get_values_from_table
return query.run(as_dict=as_dict, debug=debug, update=update, run=run, pluck=pluck)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/query_builder/utils.py”, line 87, in execute_query
result = frappe.db.sql(query, params, *args, **kwargs) # nosemgrep
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 211, in sql
self.connect()
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/database.py”, line 117, in connect
self._conn: “MariadbConnection” | “PostgresConnection” = self.get_connection()
^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/database.py”, line 107, in get_connection
conn = self._get_connection()
^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/database.py”, line 113, in _get_connection
return self.create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/mariadb/database.py”, line 116, in create_connection
return pymysql.connect(**self.get_connection_settings())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/pymysql/connections.py”, line 361, in init
self.connect()
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/pymysql/connections.py”, line 669, in connect
self._request_authentication()
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/pymysql/connections.py”, line 957, in _request_authentication
auth_packet = self._read_packet()
^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/pymysql/connections.py”, line 775, in _read_packet
packet.raise_for_error()
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/pymysql/protocol.py”, line 219, in raise_for_error
err.raise_mysql_exception(self._data)
File “/home/frappe/frappe-bench/env/lib/python3.11/site-packages/pymysql/err.py”, line 150, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1045, “Access denied for user ‘_5e5899d8398b5f7b’@‘172.19.0.7’ (using password: YES)”)
[2024-10-15 05:14:33 +0000] [1] [INFO] Starting gunicorn 22.0.0
[2024-10-15 05:14:33 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2024-10-15 05:14:33 +0000] [1] [INFO] Using worker: gthread
[2024-10-15 05:14:33 +0000] [7] [INFO] Booting worker with pid: 7
[2024-10-15 05:14:33 +0000] [8] [INFO] Booting worker with pid: 8

please help me…

Try to understand this frappe_docker/docs/troubleshoot.md at main · frappe/frappe_docker · GitHub

it is not working,i take in my common_site_config.json db name and db password but in the my case other container are exited…!

db_name and db_password are in ~/frappe-bench/sites/{site-name}/site_config.json and not in ~/frappe-bench/sites/common_site_config.json There are multiple sites per bench.

Under mariadb (mysql shell) user@host combination needs to be {db_name}@% where % means wildcard hosts. It allows any container ip to access the db. In your case there will be multiple db_name@ip(s) and db_name@% may also exist. This causes the error while accessing db through multiple new spawned containers with varied IPs. Troubleshoot doc tries to sets the user@%.

Slow machines, ARM machines, Mac and Windows, snap based docker instead of apt-get install docker, anything can affect installation.

Read through issues. Try to understand why github action tests work and your server doesn’t work.

It might be also because of MYSQL not allowing the user from the IP address. Just login into MYSQL via the container and allow user to login from any IP.