Tag: postgresql

Postgres 9.1的Docker容器不公开端口5432到主机

我试图使用Docker容器来运行PostgreSQL服务器,并从我的主机连接它。 我的configuration是: 主机:Mac OS X 10.10.5 Docker 1.10.1 我已经这样做了: 第1步 :为永久postgres数据创build一个卷 docker volume create –name postgres_data 第2步 :启动postgres实例 更新 :如注释中所build议的,我在运行容器时指定了端口映射 docker run –name my_postgres_container -e POSTGRES_PASSWORD=my_password -v postgres_data:/var/lib/postgresql/data -p 5432:5432 -d postgres:9.1 第3步 :通过这样连接到Docker实例: docker run -it –link my_postgres_container:postgres –rm postgres:9.1 sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres' 但是我想通过以下方式连接到该实例: psql -h localhost […]

如何使用DataGrip访问docker虚拟networking后面的postgres实例?

我已经dockerized数据库微服务。 我可以运行手动查询使用以下内容: $ ssh user@foo.domain.com $ docker exec -it postgres bash docker$ psql -U postgres -h 127.0.0.1 -d postgres networking服务全部使用docker桥接的虚拟networkingbatman互相交谈。 networks: batman: driver: bridge 与Postgres安全最佳实践一致 – 我不会将postgres端口5432暴露给foo.domain.com上的主机。 只有同时在“蝙蝠侠”dockernetworking中的兄弟容器也被允许连接到数据库。 在传统的DataGrip / Postgres设置中,我将ssh放入postgres所在的托pipe框中,并使用本地psql客户端(规则:pg_hba.conf)。 Dockerized系统需要一个额外的步骤(exec)。 看起来DataGrip似乎不允许前缀连接命令,我如何使用DataGrip访问docker虚拟networking后面的postgres实例?

Docker – 同一主机中的Tomcat和PostgreSQL容器 – 没有路由到主机

我已经在Tomcat上运行了一个Web应用程序,并使用该命令启动了容器, docker run -d -p 8080:8080 tveuser/tve-repository:tve-services 我也使用以下命令在同一台主机上运行PostgreSQL容器: docker run -d -p 80:80 -p 5432:5432 tveuser/tve-repository:tve-postgresql 我证实PostgreSQL是通过使用phpPgAdmin运行的,但是无法通过tomcat连接到它。 “docker ps”也告诉我,这两个容器已经启动并正在运行。 我通过tomcat context.xml将Web应用程序与数据库连接起来 <Parameter name="abc.connection.url" value="jdbc:postgresql://1.2.3.4:5432/dbname" /> 其中1.2.3.4是容器正在运行的docker主机ip。但是当我运行tomcat容器时,出现以下错误: org.postgresql.util.PSQLException: The connection attempt failed. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:225) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:136) …………… Caused by: java.net.NoRouteToHostException: No route to host at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 任何帮助赞赏。

由docker-compose连接到postgres的Django连接

我的django项目无法连接到postgres数据库容器。 我该怎么做? 它崩溃的命令python manage.py collectstatic –noinput && python manage.py makemigrations blog && python manage.py migrate 。 我知道docker运行命令创build一个新的容器,但我有更多的命令作为一个bash docker-compose.yml。 它应该工作,不是吗? 我的Dockerfile : FROM python:3.6-alpine MAINTAINER Name <name@domain> ENV PYTHONUNBUFFERED 1 ENV INSTALL_PATH /heckblog RUN mkdir -p $INSTALL_PATH WORKDIR $INSTALL_PATH COPY requirements.txt requirements.txt # make available run pip install psycopg2 RUN apk update && \ apk add […]

如何从Docker容器生成Postgresql转储?

我想有一种方法进入Postgresql容器,并从中获取数据转储。

如何在OS X上运行Docker容器时将主机IP作为环境variables传递

我有一个docker图像,当我运行它时,我需要通过主机IP地址作为一个环境variables。 所以我需要这样的东西: docker run –rm -it -e HOST_IP=<?????> -p 8000:8000 image 我在OS X上使用Docker。基本上这个映像正在运行一个服务,我想连接到我的本地PostgreSQL服务器。 该服务从环境variables读取服务器主机IP。 如何获取主机的IP以供docker使用? 如果我使用本地机器地址192.168.99.1(来自ifconfig ),psycopg2抱怨: psycopg2.OperationalError: FATAL: no pg_hba.conf entry for host "192.168.99.100", user "postgres", database "database", SSL off 错误中提到的地址192.168.99.100是我的docker-machine的IP地址。 我怎样才能得到正确的IP?

如何使用postgres数据库,Docker和Kubernetes来保存数据?

我正在试图在我的容器上运行Postgres自定义映像的永久磁盘。 我正在使用Kubernetes并遵循本教程。 这是我的db_pod.yaml文件: apiVersion: v1 kind: Pod metadata: name: lp-db labels: name: lp-db spec: containers: – image: my_username/my-db name: my-db ports: – containerPort: 5432 name: my-db volumeMounts: – name: pg-data mountPath: /var/lib/postgresql/data volumes: – name: pg-data gcePersistentDisk: pdName: my-db-disk fsType: ext4 我使用gcloud compute disks create –size 200GB my-db-disk命令gcloud compute disks create –size 200GB my-db-disk 。 […]

运行带持久数据的postgresql docker镜像返回权限错误

我一直在我的Vagrant机器上运行我的docker图像(盒子是ubuntu 14.04 ),没有任何大问题。 但是,下面的错误是绞尽脑汁。 我希望你们能帮助我。 当我运行这个: $ docker run -it -v /vagrant/postgresql/data:/var/lib/postgresql/data postgres:9.2 我得到这个错误 The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with locale "en_US.utf8". The default database encoding has accordingly been set to "UTF8". The […]

使用docker-compose在postgresql数据库中创build表

我正在使用docker-compose来部署一个multicontainer python Flask Web应用程序。 我很难理解如何在构build过程中在postgresql数据库中创build表,所以我不必使用psql手动添加它们。 我的docker-compose.yml文件是: web: restart: always build: ./web expose: – "8000" links: – postgres:postgres volumes: – /usr/src/flask-app/static env_file: .env command: /usr/local/bin/gunicorn -w 2 -b :8000 app:app nginx: restart: always build: ./nginx/ ports: – "80:80" volumes: – /www/static volumes_from: – web links: – web:web data: restart: always image: postgres:latest volumes: – /var/lib/postgresql command: […]

在docker构build之后加载Postgres转储

我有一个我想加载docker-compose的dump.sql文件。 泊坞窗,compose.yml: services: postgres: environment: POSTGRES_DB: my_db_name POSTGRES_USER: my_name POSTGRES_PASSWORD: my_password build: context: . dockerfile: ./devops/db/Dockerfile.db 我的Dockerfile.db目前非常简单: FROM postgres MAINTAINER me <me@me.me> COPY ./devops/db ./devops/db WORKDIR ./devops/db 我想在某个时候运行一个像psql my_db_name < dump.sql的命令。 如果我从Dockerfile.db运行这样的脚本,问题是脚本在构build之后但在docker构build之前运行,并且数据库尚未运行。 任何想法如何做到这一点?