Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image psql:无法翻译主机名“;博士后;要解决的问题:名称解析暂时失败_Image_Docker_Docker Compose_Dockerfile - Fatal编程技术网

Image psql:无法翻译主机名“;博士后;要解决的问题:名称解析暂时失败

Image psql:无法翻译主机名“;博士后;要解决的问题:名称解析暂时失败,image,docker,docker-compose,dockerfile,Image,Docker,Docker Compose,Dockerfile,我从github克隆了一个docker邮件存储库“”,并运行了docker-compose.yml。 它创建了6个容器和6个图像。 然后我创建了一个Dockerfile,其中有一个基本映像来自这6个映像“dockermail_roundcube”,只有一个映像包含所有服务 这些是从Github创建的图像: dockermail_dovecot latest 451da418d747 5 days ago 160MB do

我从github克隆了一个docker邮件存储库“”,并运行了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日志中得到了这样的信息:

psql: could not translate host name "postgres" to address: Temporary failure in name resolution
Postgres is unavailable - sleeping
你们能帮我解决那个问题吗!?
THX

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

适用于在迁移python/django db时遇到相同问题的任何人。如果您运行的是winodws,则需要在unix系统中使用sudo,然后以管理员身份打开Powershell或以管理员身份打开IDE

sudo python3 manage.py migrate
对于winodws

python manage.py migrate

假设一切都处于管理模式。

请运行
docker ps-a
检查哪个容器正在运行要检查哪个容器:“docker ps'
4e7cfff7dd9c roundcube”/docker entrypoint…“3小时前3小时起25/tcp,80/tcp,110/tcp,143/tcp,465/tcp,587/tcp,993/tcp,995/tcp、8080/tcp roundcube
似乎只是现有的容器
roundcube
。应该存在
postgres
的容器。如何运行
docker compose
?你能告诉我吗?我不使用docker compose。我通过Dockerfile构建映像,如上所述:
docker build-t roundcube。
并使用:
docker run-d--name roundcube roundcube运行容器。您如何在dockermail_roundcube:latest中使用的Dockerfile中看到上面的内容?guguli您找到发生此错误的原因了吗?