Подключение к Postgresql в док-контейнере снаружи

Для пользователей Postgres:

SHOW TABLES не поддерживается, поэтому вам нужно сделать что-то еще немного. hackey.

$tables = DB::select("SELECT table_schema,table_name, table_catalog FROM information_schema.tables WHERE table_catalog = 'YOUR TABLE CATALOG HERE' AND table_type = 'BASE TABLE' AND table_schema = 'public' ORDER BY table_name;")

Убедитесь, что вы заполняете table_catalog (который я догадка равна базе данных). Возможно, вам придется немного подправить результаты.

151
задан Sojo 8 June 2016 в 06:39
поделиться

1 ответ

Я предполагаю, что Вы хотите смочь просмотреть данные, существующие в Вашем контейнере каждый раз , Вы соединяетесь с ним снаружи. Чтобы сделать это, Вы будете иметь к [1 139], сохраняются данные по изображению пост-ГРЭС.

, Если у Вас нет персистентных данных, необходимо будет повторить все, что Вы сделали в первый раз.
Шаги 3, 5, 6, 7, и 8 отвечают на Ваш вопрос непосредственно.

Вот подробный обзор всего процесса, я последовал Windows 10 powershell (команды являются тем же в Linux и macOS также):

Шаг 1 : Запустите powershell в неадминистраторском режиме

Шаг 2 : Загрузите изображение докера пост-ГРЭС:
docker pull postgres:latest

Шаг 3 : Запустите контейнер докера в отдельном режиме и сохраните данные по изображению пост-ГРЭС путем создания объема и привязки его с местом назначения
( Примечание : значением по умолчанию 5432 порт по умолчанию, который используется; но заявите это явно для предотвращения ошибок соединения от клиентов как pgadmin, dbeaver, и т.д.)
docker run --name postgres-test -e POSTGRES_PASSWORD=password -p 5432:5432 -v postgres-data:/var/lib/postgresql/data -d postgres:latest

Шаг 4 : Проверьте состояние рабочих контейнеров
docker ps -a

Шаг 5 : Войдите в container_name в интерактивном режиме
( Примечание : команды как ls, pwd, и т.д. могут быть выполнены здесь при проверке контейнеров Linux во время установки)
docker exec -it postgres-test psql -U postgres

Шаг 6 : Создайте демонстрационные данные. На данном этапе можно играть с psql команды следующим образом:

# CREATE DATABASE test;
# \c test
# CREATE TABLE test_table(something int);
# INSERT INTO test_table VALUES (123);
# SELECT * FROM test_table;
# \q

Шаг 7 : Откройте клиентское приложение базы данных как pgadmin или dbeaver и войдите ниже в поля соединения:

Host: localhost
Database: test
User: postgres
Password: password

Шаг 8 : Введите запрос select * from test_table в редактор запросов, и необходимо смочь видеть вывод 123

3
ответ дан 23 November 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: