概述
我在使用Ruby on Rail设置和运行本地系统上的docker实例时遇到了问题。请参阅我的搬运工配置文件: -服务器是否在主机“localhost”(:: 1)上运行,并接受端口5432上的TCP/IP连接?
Dockerfile
FROM ruby:2.3.1
RUN useradd -ms /bin/bash web
RUN apt-get update -qq && apt-get install -y build-essential
RUN apt-get -y install nginx
RUN apt-get -y install sudo
# for postgres
RUN apt-get install -y libpq-dev
# for nokogiri
RUN apt-get install -y libxml2-dev libxslt1-dev
# for a JS runtime
RUN apt-get install -y nodejs
RUN apt-get update
# For docker cache
WORKDIR /tmp
ADD ./Gemfile Gemfile
ADD ./Gemfile.lock Gemfile.lock
ENV BUNDLE_PATH /bundle
RUN gem install bundler --no-rdoc --no-ri
RUN bundle install
# END
ENV APP_HOME /home/web/cluetap_app
RUN mkdir -p $APP_HOME
WORKDIR $APP_HOME
ADD . $APP_HOME
RUN chown -R web:web $APP_HOME
ADD ./nginx/nginx.conf /etc/nginx/
RUN unlink /etc/nginx/sites-enabled/default
ADD ./nginx/cluetap_nginx.conf /etc/nginx/sites-available/
RUN ln -s /etc/nginx/sites-available/cluetap_nginx.conf /etc/nginx/sites-enabled/cluetap_nginx.conf
RUN usermod -a -G sudo web
泊坞窗,compose.yml
version: '2'
services:
postgres:
image: 'postgres:9.6'
environment:
- PGDATA=/var/lib/postgresql/data/pgdata
- POSTGRES_PASSWORD=
- POSTGRES_USER=postgres
- POSTGRES_HOST=cluetapapi_postgres_1
networks:
- default
- service-proxy
ports:
- '5432:5432'
volumes:
- 'postgres:/var/lib/postgresql/data'
labels:
description: "Postgresql Database"
service: "postgresql"
web:
container_name: cluetap_api
build: .
command: bash -c "thin start -C config/thin/development.yml && nginx -g 'daemon off;'"
volumes:
- .:/home/web/cluetap_app
ports:
- "80:80"
depends_on:
- 'postgres'
networks:
service-proxy:
volumes:
postgres:
当我运行泊坞窗 - 撰写建和泊坞窗,构成了-d这两个命令它成功运行,但是当我从url中击中它时,它会导致内部服务器错误并且错误是
Unexpected error while processing request: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
我已经应用了一些解决方案,但它不适用于我,请指导我我是码头工人和AWS的新手。
+0
码头日志cluetap_api的输出是什么?我会建议给你的postgres一个容器名如:my-postgres。您可以使用my-postgres:5432从您的api-container连接到您的postgres,因为它们部署在同一个网络中。你甚至不需要映射端口。 –
+0
如果要映射端口,则可以使用server-ip:5432从您的api-container连接。比你的容器不需要在同一个网络内。 –
最后
以上就是聪明香水为你收集整理的修改主机ip连接到服务器上,服务器是否在主机“localhost”(:: 1)上运行,并接受端口5432上的TCP/IP连接?...的全部内容,希望文章能够帮你解决修改主机ip连接到服务器上,服务器是否在主机“localhost”(:: 1)上运行,并接受端口5432上的TCP/IP连接?...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复