odoo 12,PostgreSQL 10
docker容器 odoo容器已经工作了好几个月,但是在尝试升级odoo版本之后。 我收到以下错误。
psycopg2.OperationalError:无法将主机名“ db”转换为地址
内部服务器错误 服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序错误。
文件“ /usr/lib/python3/dist-packages/odoo/sql_db.py”,第171行,位于 init 中,self._cnx = pool.borrow(dsn),文件“ / usr / lib / python3 / dist-packages / odoo / sql_db.py”,第540行,在_locked中,返回fun(self,* args,** kwargs),文件“ / usr / lib / python3 / dist-packages / odoo” /sql_db.py”,第608行,位于row,** connection_info)中,文件“ /usr/lib/python3/dist-packages/psycopg2/init.py”,第130行,位于connect中, conn = _connect(dsn,connection_factory = connection_factory,** kwasync),psycopg2.OperationalError:无法将主机名“ db”转换为地址:名称或服务未知---,2019-09-15 15:01:26,057 1 INFO? odoo.service.server:启动关机,2019-09-15 15:01:26,058 1 INFO吗? odoo.service.server:再次按CTRL-C或发送第二个信号以强制关闭。 ,2019-09-15 15:01:30,959 1个信息? odoo:Odoo版本12.0-20190816,2019-09-15 15:01:30,960 1 INFO吗? odoo:使用/etc/odoo/odoo.conf上的配置文件,2019-09-15 15:01:30,960 1 INFO吗? odoo:插件路径:['/var/lib/odoo/addons/12.0','/ mnt / extra-addons','/ usr / lib / python3 / dist-packages / odoo / addons'],2019-09- 15 15:01:30,961 1信息? odoo:数据库:odoo @ db:5432,2019-09-15 15:01:31,104 1 INFO吗? odoo.addons.base.models.ir_actions_report:将在/ usr / local / bin / wkhtmltopdf使用Wkhtmltopdf二进制文件,2019-09-15 15:01:31,265 1 INFO吗? odoo.service.server:在574638c2fd44:8069,2019-09-15 15:01:40,043 1上运行的HTTP服务(werkzeug) odoo.http:HTTP配置静态文件,2019-09-15 15:01:40,072 1 INFO? odoo.sql_db:与数据库的连接失败,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错误? werkzeug:请求时出错:,文件“ /usr/lib/python3/dist-packages/odoo/http.py”,行1320,在调用中,返回self.dispatch(environ,start_response),在调用中的文件“ /usr/lib/python3/dist-packages/odoo/http.py”中,第1293行,返回self.app(environ,start_wrapped),文件“ / usr / lib / python3 / dist-packages / werkzeug / wsgi.py”第599行,在调用中,返回self.app(environ,start_response),文件“ / usr / lib / python3 / dist-packages / odoo” /http.py”中的第1453行,在dispatch,self.setup_db(httprequest)中,文件“ /usr/lib/python3/dist-packages/odoo/http.py”中的第1376行,在setup_db中,httprequest.session.db = db_monodb(httprequest),文件“ /usr/lib/python3/dist-packages/odoo/http.py”,第1537行,位于db_monodb中,dbs = db_list(True,httprequest),文件“ / usr / lib / python3 / dist-packages / odoo / http.py“,行1504,在db_list中,dbs = odoo.service.db.list_dbs(force),文件“ /usr/lib/python3/dist-packages/odoo/service/db.py “,第375行,位于list_dbs中,并带有close(db.curs or())as cr :,在光标中,文件“ /usr/lib/python3/dist-packages/odoo/sql_db.py”,行657,返回Cursor(self。 pool,self.dbname,self。 dsn,序列化=序列化),文件“ /usr/lib/python3/dist-packages/odoo/sql_db.py”,第171行,位于__init 中,self._cnx = pool.borrow(dsn),文件“ /usr/lib/python3/dist-packages/odoo/sql_db.py”,第540行,在_locked中,返回fun(self,* args,** kwargs),文件“ / usr / lib / python3 / dist-packages / odoo / sql_db.py”,第608行,借入,** connection_info),文件“ /usr/lib/python3/dist-packages/psycopg2/init.py”,第130行,在connect中,conn = _connect(dsn,connection_factory = connection_factory,** kwasync),psycopg2.OperationalError:无法将主机名“ db”转换为地址:名称或服务未知--- ''''
答案 0 :(得分:0)
似乎您缺少docker命令的--link
选项。
您首先应该运行postgresql
容器:
$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10
如您所见,容器名称为db
。
然后应该启动odoo
实例并使其运行:
$ docker run -p 8069:8069 --name odoo --link db:db -t odoo
正如您在此处看到的,--link
选项告诉odoo
容器将所有对db
主机的请求映射到名为db
的容器
答案 1 :(得分:0)
这是解决方案。
db_host = my_database_server_ip
之前更改了db_host = db
它可以恢复工作了:)