docker nginx letsencrypt odoo错误

我发现这个存储库在docker中创build我的所有实例。 但是,经过一番testing,我总是有

FATAL: password authentication failed for user "odoo" 

有我的docker组成就像在Git仓库

 version: "2" services: nginx: restart: always image: nginx container_name: nginx ports: - "80:80" - "443:443" volumes: - "/etc/nginx/conf.d" - "/etc/nginx/vhost.d" - "/usr/share/nginx/html" - "./volumes/proxy/certs:/etc/nginx/certs:ro" nginx-gen: restart: always image: jwilder/docker-gen container_name: nginx-gen volumes: - "/var/run/docker.sock:/tmp/docker.sock:ro" - "./volumes/proxy/templates/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro" volumes_from: - nginx entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf letsencrypt-nginx-proxy-companion: restart: always image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt-nginx-proxy-companion volumes_from: - nginx volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./volumes/proxy/certs:/etc/nginx/certs:rw" environment: - NGINX_DOCKER_GEN_CONTAINER=nginx-gen web: restart: always image: odoo:11 container_name: odoo depends_on: - db ports: - "8069:8069" volumes: - odoo-web-data:/var/lib/odoo - ./config:/etc/odoo - ./addons:/mnt/extra-addons environment: - VIRTUAL_HOST=web04.talk.mg - VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_PORT=8069 - LETSENCRYPT_HOST=web04.talk.mg - LETSENCRYPT_EMAIL=toavina@nivo.mg db: restart: always image: postgres:9.4 container_name: db environment: - POSTGRES_PASSWORD=odoo - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata volumes: odoo-web-data: odoo-db-data: 

和错误是:

 File "/usr/lib/python3/dist-packages/odoo/http.py", line 1438, in dispatch odoo | self.setup_db(httprequest) odoo | File "/usr/lib/python3/dist-packages/odoo/http.py", line 1359, in setup_db odoo | httprequest.session.db = db_monodb(httprequest) odoo | File "/usr/lib/python3/dist-packages/odoo/http.py", line 1521, in db_monodb odoo | dbs = db_list(True, httprequest) odoo | File "/usr/lib/python3/dist-packages/odoo/http.py", line 1489, in db_list odoo | dbs = odoo.service.db.list_dbs(force) odoo | File "/usr/lib/python3/dist-packages/odoo/service/db.py", line 362, in list_dbs odoo | with closing(db.cursor()) as cr: odoo | File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 634, in cursor odoo | return Cursor(self.__pool, self.dbname, self.dsn, serialized=serialized) odoo | File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 178, in __init__ odoo | self._cnx = pool.borrow(dsn) odoo | File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 517, in _locked odoo | return fun(self, *args, **kwargs) odoo | File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 585, in borrow odoo | **connection_info) odoo | File "/usr/lib/python3/dist-packages/psycopg2/__init__.py", line 164, in connect odoo | conn = _connect(dsn, connection_factory=connection_factory, async=async) odoo | psycopg2.OperationalError: FATAL: password authentication failed for user "odoo" db | FATAL: password authentication failed for user "odoo" db | DETAIL: Role "odoo" does not exist. 

这是因为用户odoo不会在odoo数据库中exixts。

login到你的数据库容器

 docker exec -it container_id /bin/bash 

然后连接到psql并创build用户

 su - postgres -c "createuser -s odoo"