image - psql : could not translate host name "postgres" to address: Temporary failure in name resolution

标签 image docker docker-compose dockerfile

我从 github 克隆了一个 docker-mail 存储库“https://github.com/1it/docker-mail”并运行了 docker-compose.yml。 它创建了 6 个容器和 6 个图像。 然后我创建了一个 Dockerfile,其基础图像来自这 6 个图像“dockermail_roundcube”之一,只有一个图像包含所有服务。

这是从 Github 创建的图像:

 dockermail_dovecot        latest              451da418d747        5 days ago          160MB
 dockermail_roundcube      latest              41b2a49d9233        5 days ago          346MB
 dockermail_postfixadmin   latest              b4e1db428c5c        5 days ago          276MB
 dockermail_postfix        latest              21e6c1321a4f        5 days ago          207MB
 dockermail_certs          latest              9fa00330df3e        5 days ago          140MB
 dockermail_postgres       latest              cdfa8642ac29        5 days ago          269MB

然后我从我的 Dockerfile 构建了一个图像:

FROM dockermail_roundcube:latest
MAINTAINER Siamak Mottaghian
#Postfix
ENV DOMAIN=trivadis.com
ENV MAILNAME=smtp.trivadis.com
ENV MY_NETWORKS=172.16.0.0/15-192.168.0.0/16
# Postgres
ENV LANG=en_US.utf8
ENV DB_NAME=mail
ENV USER_NAME=mail
ENV USER_PASSWD=eeheiThoh2mohjou
ENV POSTGRES_PASSWORD=oejoojo9eimeeloocuCogichoove4oho
ENV PG_PASSWD_FILE=postgres:5432:*:usrname:passwd
# Roundcube / Postfixadmin
ENV APACHE_RUN_USER=www-data
ENV APACHE_RUN_GROUP=www-data
ENV APACHE_LOG_DIR=/var/log/apache2
ENV APACHE_PID_FILE=/var/run/apache2.pid
ENV APACHE_RUN_DIR=/var/run/apache2
ENV APACHE_LOCK_DIR=/var/lock/apache2
ENV APACHE_LOG_DIR=/var/log/apache2
# Roundcube config
ENV DEFAULT_HOST=ssl://imap.trivadis.com
ENV DEFAULT_PORT=993
ENV SMTP_SERVER=tls://smtp.trivadis.com
ENV SMTP_PORT=587
ENV DES_KEY=angahth3ki7shaeTie7queibeSaeyugi 
### Postfixadmin
# Sample Admin passwd
# admin@example.com
# example12345
EXPOSE 25 465 587 110 995 143 993 80 8080

运行容器后:

docker run -d --name roundcube roundcube

我试图在浏览器中打开 roundcube 客户端,但这是不可能的。

然后我在我的 docker 日志中得到了这个 Massage:

psql: could not translate host name "postgres" to address: Temporary failure in name resolution
Postgres is unavailable - sleeping

你们能帮我解决这个问题吗!? 谢谢

最佳答案

可能有解决方法,但最明显的解决方案是使用 docker-composeDocker compose将同时启动 postgres 容器和您的服务器容器。 Docker compose 还将为这两个容器创建一个网络,因此您将能够连接到它们。

关于image - psql : could not translate host name "postgres" to address: Temporary failure in name resolution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48765911/

相关文章:

html - 列表图像之间的小方框

python - Dockerize Flask : Error: While importing 'app' , 引发了 ImportError

linux - 使用 Fluentd 在 ElasticSearch 中存储日志

django - Docker postgres

Python 图像库 - 创建和粘贴图像

php - 我无法显示数据库 MySQL 中的图像

php - 使用 PHP 显示 SQL 数据库中存储的 URL 中的图像

node.js - 由于 macOS Big Sur 升级,无法再安装 npm 包

php - Docker Compose - 安装带有 MySQLi、MySQLnd 和 PDO 扩展的 php-fpm

mysql - 无法将tomcat容器连接到mysql容器