我有一個碼頭工人容器的服務器上PostgreSQL的。我如何從外部連接到它,即從本地計算機連接到它?我應該採用什麼樣的設置來允許?連接從一個碼頭工人容器到PostgreSQL外
回答
可以運行的Postgres這樣(端口映射):
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
所以,現在你已經映射端口5432的容器到你的服務器的端口5432。 -p <host_port>:<container_port>
。所以現在你的Postgres是訪問從public-server-ip:5432
測試: 運行Postgres數據庫(上面的命令)
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
您的容器內
圍棋並創建數據庫:
docker exec -it 05b3a3471f6f bash
[email protected]:/# psql -U postgres
postgres-# CREATE DATABASE mytest;
postgres-# \q
轉到您的本地主機(您有一些工具或psql客戶端)。
psql -h public-ip-server -p 5432 -U postgres
(密碼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
所以你數據庫的訪問(這是運行在碼頭工人的服務器上)從本地主機。
我錯過了「-h localhost」這裏。謝謝! –
設置端口工作對我來說 –
@Tjorriemorrie你確定你的Postgres是在本地機器上運行,這並不爲本地主機 – Tjorriemorrie
我已經運行在主機上的Postgres並沒有希望允許從網絡連接,所以我沒有在容器中運行的Postgres臨時實例,並在短短的兩行創建的數據庫:
# 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
你也可以也可以通過docker exec命令進行訪問。
$ docker exec -it postgres-container bash
# su postgres
$ psql
- 1. 碼頭工人。從一個容器連接到另一個容器與MySQL
- 2. 從一個碼頭工人容器
- 3. 連接到一個碼頭工人MONGO從遠程服務器
- 4. 碼頭工人mysql無法連接到容器
- 5. Nginx的碼頭工人容器不接受,並從容器
- 6. 碼頭連接錯誤碼頭工人
- 7. 可以從碼頭工人容器
- 8. 碼頭工人不能指定容器連接
- 9. 如何啓用/從一個碼頭工人容器中運行
- 10. 如何正確地從一個碼頭工人容器
- 11. 複製Laravel的.ENV文件到一個碼頭工人容器
- 12. 碼頭工人碼頭工人用容器中,斯卡拉
- 13. 無法連接到mysql碼頭容器
- 14. NetfilterQueue不是在一個碼頭工人容器工作
- 15. 無法MySQL的容器連接到Tomcat的集裝箱在碼頭工人
- 16. 哪有一個碼頭工人容器調用另一個泊塢容器
- 17. 無法連接到MySQL服務器內的碼頭工人
- 18. 無法連接到瓶應用在碼頭工人從主機
- 19. 碼頭工人:連接到服務器的羣體工作人員
- 20. 碼頭工人拒絕連接
- 21. 連接的NodeJS並與碼頭工人
- 22. 碼頭工人拒絕連接
- 23. 碼頭工人無法啓動容器
- 24. 碼頭工人 - 容器名稱爲ssh
- 25. NPM安裝過碼頭工人,容器
- 26. 碼頭工人 - 多或單容器?
- 27. 碼頭工人停止容器自動
- 28. 爲什麼mount命令是一個碼頭工人容器
- 29. 碼頭從容器連接到主機隧道
- 30. 能夠連接到MongoDB中的一個碼頭工人的容器在本地運行,但不能從另一個容器
你用什麼命令來啓動postresql?你能夠揭示一個港口並將其映射到 – lvthillo
@ lorenzvth7,怎麼樣? – Sojo