Mam PostgreSQL na serwerze w kontenerze dokowania. Jak mogę połączyć się z nią z zewnątrz, czyli z mojego lokalnego komputera? Jakie ustawienie powinienem zastosować, aby to umożliwić?Łączenie z PostgreSQL w kontenerze dokowania z zewnątrz
Odpowiedz
PostgreSQL można uruchomić w ten sposób (mapa port):
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
Więc teraz masz odwzorowane port 5432 z kontenera do portu 5432 na serwerze. -p <host_port>:<container_port>
.so teraz Twoje postgres jest dostępne z public-server-ip:5432
przetestować: Run bazy danych PostgreSQL (komend powyżej)
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
05b3a3471f6f postgres "/docker-entrypoint.s" 1 seconds ago Up 1 seconds 0.0.0.0:5432->5432/tcp some-postgres
Go wewnątrz pojemnika i tworzenia bazy danych:
docker exec -it 05b3a3471f6f bash
[email protected]:/# psql -U postgres
postgres-# CREATE DATABASE mytest;
postgres-# \q
Przejdź do lokalnego hosta (gdzie masz jakieś narzędzie lub klienta psql).
psql -h public-ip-server -p 5432 -U postgres
(hasło mysecretpassword)
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
mytest | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres
Więc dostępu do bazy danych (który pracuje w dokowanym na serwerze) z Twojego localhost.
Brakowało mi "-h localhost" tutaj. Dziękuję Ci! –
Ustawienie portu zadziałało dla mnie –
to nie działa dla localhosta – Tjorriemorrie
miałem już uruchomiony postgres na maszynie hosta i nie chce, aby umożliwić połączenia z siecią, więc nie uruchomić tymczasowy Postgres instancji w kontenerze i stworzył bazę danych w ciągu zaledwie dwóch linii:
# Run PostgreSQL
docker run --name postgres-container -e POSTGRES_PASSWORD=password -it -p 5433:5432 postgres
# Create database
docker exec -it postgres-container createdb -U postgres my-db
można również dostęp także za pomocą polecenia execer exec.
$ docker exec -it postgres-container bash
# su postgres
$ psql
- 1. Klienci Eureka w kontenerze dokowania
- 2. Uruchamianie emacs w kontenerze dokowania
- 3. Jak uruchomić livereload z gulpem w kontenerze dokowania?
- 4. Uruchom aplikację webową maven w kontenerze dokowania
- 5. Automatyczne ładowanie frameworka w kontenerze dokowania
- 6. Automatyczne uruchamianie usługi w kontenerze dokowania
- 7. Jenkins w kontenerze Docker (uruchom proces dokowania)
- 8. Jak mogę użyć matplotlib.pyplot w kontenerze dokowania?
- 9. Łączenie PostgreSQL 9.2.1 z Hibernate
- 10. Połączenie odrzucone na kontenerze dokowania nginx
- 11. Łączenie Django i PostgreSQL z Dockerem
- 12. Jak debugować aplikację szyny, która działa w kontenerze dokowania
- 13. Jak wyświetlać pliki statyczne za pomocą nginx w kontenerze dokowania?
- 14. Jak ustawić zmienną środowiskową w uruchomionym kontenerze dokowania?
- 15. Jaka jest najlepsza praktyka wysyłania logów do graylog z aplikacji JVM, która działa w kontenerze dokowania?
- 16. Sposób automatycznego uruchamiania dwóch plików JAR na "kontenerze dokowania"
- 17. Aktualizowanie przez łączenie kolumn w PostgreSQL
- 18. dostęp xampp/htdocs z zewnątrz
- 19. Shadow DOM stylizacja z zewnątrz
- 20. Jak wybrać w kontenerze z jQuery?
- 21. Jak połączyć się z MongoDB działającym w kontenerze Docker?
- 22. Łączenie ze Spark/pyspark do PostgreSQL
- 23. Jak radzić sobie z aktualizacjami zabezpieczeń w kontenerach dokowania?
- 24. Łączenie z pragma z g ++
- 25. Łączenie z Kasandra z PHP
- 26. Wymagane porty dla JMS przy użyciu usługi HornetQ (JBoss) do wyświetlania w kontenerze dokowania
- 27. Łączenie Java z SQL?
- 28. Uzyskiwanie dostępu Stan reakcji z zewnątrz
jakiego polecenia użyłeś do uruchomienia postresql? jesteś w stanie odsłaniać port i mapować go na – lvthillo
@ lorenzvth7, jak? – Sojo