我是Docker的新手,我试图通过遵循Internet上的各种教程来首次将应用程序进行Docker化,但是却遇到了无法解决的错误。
我四处搜寻,尝试了不同的方法,但没有找到可以帮助我解决问题的方法。
错误消息:服务器是否在主机“ localhost”(:: 1)上运行并在端口5432上接受TCP / IP连接?
这是我的docker-compose文件。错误来自 jobsite。
Get-ChildItem -Path cert:\localMachine\my\<THUMBNAIL> | Export-PfxCertificate -FilePath C:\<PROJECTNAME>.pfx -Password $mypwd
这是主要的Dockerfile:
jobsite:
container_name: job_startup
build: .
# command: ["./docker_compose/django/wait_for_postgres.sh"]
volumes:
- .:/code
environment:
PRODUCTION: 'False'
ports:
- "8000:8000"
# depends_on:
# - "db"
# links:
# - "db"
enginx:
build: ./nginx
container_name: job_nginx
restart: always
environment:
- NGINX_PORT=80
ports:
- "80:80"
depends_on:
- "jobsite"
错误消息的屏幕截图:
更新
FROM python:3
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
EXPOSE 8000
CMD python manage.py runserver 0.0.0.0:8000
答案 0 :(得分:0)
您的应用程序尝试连接到在本地主机上运行的PostgreSQL。但是,PostgreSQL显然不在本地主机上运行。您必须将容器添加到启动PostgreSQL的docker compose配置中。然后,将您的Python应用程序配置为使用该名称而不是[-2.4 -1.3 -3.8 -1.9 5. 0.6 2.9 1.9 4.7 3.5 6.9 1.5 -4.2 3.7
2.1 6.6 7. -4.6 -4.9]
maximum value is 8
。
答案 1 :(得分:0)
应用程序job_startup
尝试连接到在本地主机上运行的postgres数据库。
您的docker-compose文件缺少db
服务。同样,Python脚本中的连接字符串也应以db
作为主机名,如注释掉的links
和depends_on
行所述。