Bir docker kabında bir sunucuda Postgresql var. Dışarıdan, yani yerel bilgisayarımdan nasıl bağlayabilirim? Buna izin vermek için hangi ayarı uygulamalıyım?Dışarıdan bir docker kapsayıcısında Postgresql'e bağlanma
cevap
Sen PostgreS bu şekilde (bir bağlantı noktası harita) çalıştırabilirsiniz:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
Şimdi sizin sunucunun port 5432 için konteyner limanı 5432 haritalandırdık. çalıştırın postgres veritabanı (yukarıdaki komut)
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
senin kabın içine
Git ve bir veritabanı oluşturmak:
docker exec -it 05b3a3471f6f bash
[email protected]:/# psql -U postgres
postgres-# CREATE DATABASE mytest;
postgres-# \q
-p <host_port>:<container_port>
.Peki şimdi postgres testi için sizin
public-server-ip:5432
erişilebilir
Yerel anasisteme gidin (bazı araçlarınız veya psql istemciniz var).
psql -h public-ip-server -p 5432 -U postgres
(şifre 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
Yani localhost'tan veritabanı (ki bir sunucuda docker çalışan) erişen ediyoruz.
Burada "-h localhost" özledim. Teşekkür ederim! –
Bağlantı noktası benim için çalıştı –
bu localhost için çalışmıyor – Tjorriemorrie
Zaten ana makinede postgres çalışan vardı ve ağdan bağlantılara izin vermek istemiyordu, bu yüzden kap içinde geçici PostgreS örneğini çalıştırıp sadece iki satır veritabanını oluşturulan vermedi: Ayrıca can
# 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
Ayrıca docker exec komutu ile erişim.
$ docker exec -it postgres-container bash
# su postgres
$ psql
- 1. Docker kapsayıcısında XDummy
- 2. Docker kapsayıcısında mongodb'ye bağlanılamıyor
- 3. Docker kapsayıcısında Jenkins (docker boru hattını çalıştırın)
- 4. "ImportError: Docker kapsayıcısında modül yok",
- 5. Bir Docker kapsayıcısında JVM bellek tüketimi sınırı
- 6. Joomla docker resmi kapsayıcısında PHP değişkenlerini değiştiremiyor
- 7. Windows IIS Docker kapsayıcısında etkileşimli oturum başlatılamıyor
- 8. Docker: kapsayıcıda dinlemiyor, dışarıdan cevap vermiyor
- 9. connect opscenter ve datastax aracı iki docker kapsayıcısında çalışır
- 10. Docker kapsayıcısında `--interactive '' --tty 'kullanılmadan ne zaman kullanmalıyım?
- 11. Ekleme dışarıdan
- 12. Dışarıdan Tepkime durumuna erişme
- 13. Docker yeni dosyaları nasıl yönetiyor?
- 14. MVC'de bir SelectList'e bağlanma
- 15. css kutu gölge bir div kapsayıcısında kesilmiş
- 16. Bir Birlik Kapsayıcısında "Çözümle" hatalarını nasıl ayırım?
- 17. Dışarıdan bir jQuery eklentisi içinde işlev çağırma
- 18. Güncelleme Facebook durum dışarıdan bir kullanıcı
- 19. AWS kimlik bilgilerini (IAM rol kimlik bilgileri) docker kapsayıcısında çalışan kod için geçirin
- 20. Log4j.xml dosyasını dışarıdan savaşa yükleme
- 21. Prometheus - diğer docker konteynerlerini izleme
- 22. Docker dosyasında bir Adlandırılmış Birim nasıl bildirilir?
- 23. Bir çizgi çizerek UIButtons'a bağlanma
- 24. Bir üye fonksiyonu fonksiyona bağlanma
- 25. docker-compose docker-compose.yml
- 26. Bir esnek kutu kapsayıcısında boşluk bırakan bir div'i bindirmeye çalışıyorum.
- 27. Docker
- 28. Docker
- 29. Docker:
- 30. Docker
postresql'yi başlatmak için hangi komutu kullandınız? Bir portu açığa çıkarabilir ve – lvthillo
@ lorenzvth7 ile nasıl haritalandırabilirsiniz? – Sojo