Проблема с docker-compose

У меня есть проект REST-API на Golang, который использует Postgres, хочу этот проект поместить в контейнер, но проблема такая: у меня всё запускается отлично, и контейнер с postgres, и с самим приложением, но не на том хосте или порте (как я думаю) на котором нужно, потому что Postman при запросе выдает ошибку Error: getaddrinfo ENOTFOUND http (или ECONNREFUSED было), данные приложение берет из конфига

"http_server": {
    "address": "localhost:8080",
    "timeout": "5s",
    "idle_timeout": "60s"
  },
  "storage": {
    "url": "postgres://postgres:admin@postgres:5432/arithmetic_operations?sslmode=disable"
  },

docker-compose вот такой:

version: '3.8'

services:
  postgres:
    container_name: postgresql_database
    image: postgres
    restart: always
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: admin
      POSTGRES_DB: arithmetic_operations
    volumes:
      - data:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U postgres" ]
      interval: 5s
      timeout: 5s
      retries: 5


  app:
    container_name: go_app
    image: app:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    build:
      dockerfile: Dockerfile
    depends_on:
      - postgres

volumes:
  data:

а Dockerfile такой

# Stage  1: Build the Go application
FROM golang:1.21.0

# Create a working directory
WORKDIR /app

# Copy go.mod and go.sum files
COPY go.mod go.sum ./

# Download all dependencies
RUN go mod download

# Copy the source code
COPY . .

# Copy the config.json file
COPY config.json /app/config.json

# Set environment variable for port
ENV PORT=8080

# Expose port 8080
EXPOSE $PORT

# Build the application
RUN CGO_ENABLED=0 go build -o cmd/main cmd/main.go

# Start the application
CMD ["cmd/main"]

и, кстати docker выдает один warning: ! app: published ports are discarded when using host network mode


Ответы (0 шт):