Проблема с установкой пробной версии bamboo с использованием докера и подключением к базе данных postgres на локальном хосте

Я пытаюсь запустить bamboo-server с помощью контейнера докеров и подключить его к базе данных postgres, которая работает в другом контейнере. Сначала я запускаю базу данных postgres и создаю пустую базу данных с именем bamboo с пользователем postgres и паролем postgres.

И я запускаю эту команду для запуска бамбукового сервера из https://hub.docker.com/r/atlassian/бамбук

$> docker volume create --name bambooVolume
$> docker run -v bambooVolume:/var/atlassian/application-data/bamboo --name="bamboo" -d -p 8085:8085 -p 54663:54663 atlassian/bamboo

Затем я открываю localhost:8085 и генерирую лицензию и дохожу до того, что вижу эту ошибку

Ошибка доступа к базе данных: org.postgresql.util.PSQLException: соединение с локальным хостом: 5432 отклонено. Убедитесь, что имя хоста и порт указаны правильно, а постмастер принимает соединения TCP/IP.

enter image description here

В чем проблема?


РЕШЕНИЕ:

Работал с этим dokcer-compose yaml:

version: '2'
services:
 
  bamboo:
    image: atlassian/bamboo
    container_name: bamboo
    ports:
      - '54663:5436'
      - '8085:8085'
    networks:
      - bamboonet
    volumes:
      - bamboo-data:/var/atlassian/application-data/bamboo
    hostname: bamboo
    environment:
      CATALINA_OPTS: -Xms256m -Xmx1g
      BAMBOO_PROXY_NAME:
      BAMBOO_PROXY_PORT:
      BAMBOO_PROXY_SCHEME:
      BAMBOO_DELAYED_START:
    labels:
      com.blacklabelops.description: "Atlassian Bamboo"
      com.blacklabelops.service: "bamboo"
 
  db-bamboo:
    image: postgres
    container_name: postgres
    hostname: postgres
    networks:
      - bamboonet
    volumes:
      - bamboo-data-db:/var/lib/postgresql/data
    ports:
      - '5432:5432'
    environment:
      POSTGRES_PASSWORD: password
      POSTGRES_USER: bamboo
      POSTGRES_DB: bamboo
      POSTGRES_ENCODING: UTF8
      POSTGRES_COLLATE: C
      POSTGRES_COLLATE_TYPE: C
      PGDATA: /var/lib/postgresql/data/pgdata
    labels:
      com.blacklabelops.description: "PostgreSQL Database Server"
      com.blacklabelops.service: "postgresql"
 
volumes:
  bamboo-data:
    external: false
  bamboo-data-db:
    external: false
 
networks:
  bamboonet:
    driver: bridge

Эти два контейнера находятся в одной сети?

D-Shih 10.04.2022 05:40

Они оба находятся на локальном хосте. Как я должен проверить и убедиться в любом случае?

Amin Ba 10.04.2022 05:43

Каждый контейнер свой localhost. Если вы указываете контейнеру приложения подключиться к localhost в качестве адреса базы данных, он попытается подключиться обратно к контейнеру приложения, а не к контейнеру базы данных.

David Maze 10.04.2022 11:27
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
3
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы не установите сеть своего докера, он будет использоваться в режиме bridge по умолчанию.

Я думаю, проблема в том, что вы можете использовать {containerName}:5432 вместо localhost:5432 из строки подключения JDBC, потому что localhost означает ваш контейнер веб-сайта вместо реального компьютера, так что вы не можете подключиться к БД с помощью этого.

jdbc:postgresql://bamboo-pg-db-container:5432/bamboo

это решает мою проблему, но теперь у меня проблема с полем пароля. это пароль на бамбуковой странице image Я поделился своим паролем pg db: postgres ?

Amin Ba 10.04.2022 05:53

если ваш контейнер pg использовал этот образ hub.docker.com/_/postgres, существует параметр envPOSTGRES_PASSWORD, который представляет пароль базы данных PostgreSQL.

D-Shih 10.04.2022 05:56

используя команду psql, как указано в вопросе, я проверил, и postgres был правильным паролем. Но бамбук теперь не принимает пароли. хром идет и проверяет мой сохраненный пароль на слабость. это утомительно

Amin Ba 10.04.2022 05:58

вот что получилось stackoverflow.com/questions/71813699/…

Amin Ba 10.04.2022 06:13

Другие вопросы по теме