Reputation: 11
odoo 12 , postgresql 10
docker containers odoo container was working pretty fine for months, but after trying to upgrade odoo version.. I got the following error..
psycopg2.OperationalError: could not translate host name "db" to address
Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 171, in init , self._cnx = pool.borrow(dsn) , File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 540, in _locked , return fun(self, *args, **kwargs) , File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 608, in borrow , **connection_info) , File "/usr/lib/python3/dist-packages/psycopg2/init.py", line 130, in connect , conn = _connect(dsn, connection_factory=connection_factory, **kwasync) ,psycopg2.OperationalError: could not translate host name "db" to address: Name or service not known - - - ,2019-09-15 15:01:26,057 1 INFO ? odoo.service.server: Initiating shutdown ,2019-09-15 15:01:26,058 1 INFO ? odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown. ,2019-09-15 15:01:30,959 1 INFO ? odoo: Odoo version 12.0-20190816 ,2019-09-15 15:01:30,960 1 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf ,2019-09-15 15:01:30,960 1 INFO ? odoo: addons paths: ['/var/lib/odoo/addons/12.0', '/mnt/extra-addons', '/usr/lib/python3/dist-packages/odoo/addons'] ,2019-09-15 15:01:30,961 1 INFO ? odoo: database: odoo@db:5432 ,2019-09-15 15:01:31,104 1 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf ,2019-09-15 15:01:31,265 1 INFO ? odoo.service.server: HTTP service (werkzeug) running on 574638c2fd44:8069 ,2019-09-15 15:01:40,043 1 INFO ? odoo.http: HTTP Configuring static files ,2019-09-15 15:01:40,072 1 INFO ? odoo.sql_db: Connection to the database failed ,2019-09-15 15:01:40,079 1 INFO ? werkzeug: - - [15/Sep/2019 15:01:40] "GET / HTTP/1.1" 500 - 0 0.000 0.031 ,2019-09-15 15:01:40,086 1 ERROR ? werkzeug: Error on request: , File "/usr/lib/python3/dist-packages/odoo/http.py", line 1320, in call , return self.dispatch(environ, start_response) , File "/usr/lib/python3/dist-packages/odoo/http.py", line 1293, in call , return self.app(environ, start_wrapped) , File "/usr/lib/python3/dist-packages/werkzeug/wsgi.py", line 599, in call , return self.app(environ, start_response) , File "/usr/lib/python3/dist-packages/odoo/http.py", line 1453, in dispatch , self.setup_db(httprequest) , File "/usr/lib/python3/dist-packages/odoo/http.py", line 1376, in setup_db , httprequest.session.db = db_monodb(httprequest) , File "/usr/lib/python3/dist-packages/odoo/http.py", line 1537, in db_monodb , dbs = db_list(True, httprequest) , File "/usr/lib/python3/dist-packages/odoo/http.py", line 1504, in db_list , dbs = odoo.service.db.list_dbs(force) , File "/usr/lib/python3/dist-packages/odoo/service/db.py", line 375, in list_dbs , with closing(db.cursor()) as cr: , File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 657, in cursor , return Cursor(self.pool, self.dbname, self.dsn, serialized=serialized) , File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 171, in __init , self._cnx = pool.borrow(dsn) , File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 540, in _locked , return fun(self, *args, **kwargs) , File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 608, in borrow , **connection_info) , File "/usr/lib/python3/dist-packages/psycopg2/init.py", line 130, in connect , conn = _connect(dsn, connection_factory=connection_factory, **kwasync) ,psycopg2.OperationalError: could not translate host name "db" to address: Name or service not known - - - ''''
Upvotes: 0
Views: 3193
Reputation: 11
Here is the solution.
db_host = my_database_server_ip
previous it was db_host = db
It back to work :)
Upvotes: 1
Reputation: 172
It seems that you are missing the --link
option for docker command.
you first should have the postgresql
container running:
$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10
as you can see, the container name is db
.
and then you should have the odoo
instance up and running:
$ docker run -p 8069:8069 --name odoo --link db:db -t odoo
as you can see here the --link
option is telling the odoo
container to map all requests to db
host to the container named db
Upvotes: 0