Tag: postgresql

在docker-compose中的容器入口点之后运行脚本

我有一个postgres:9.5.6高山容器,另一个容器,名为web,必须链接到它。 我想在postgres容器中运行一个名为create_db.sh的脚本,并且已经执行了docker-entrypoint.sh,以便创build一个db和一个用户并且还原一个备份。 我docker-compose.yml (postgres部分): postgres: build: ./postgres container_name: postgres volumes: – /shared_folder/postgresql:/var/lib/postgresql ports: – "5432:5432" command: sh /home/create_db.sh create_db.sh的内容是: #!/bin/sh psql -d template1 -U postgres psql –command "CREATE USER user WITH PASSWORD 'userpassword';" psql –command "CREATE DATABASE userdb;" psql –command "GRANT ALL PRIVILEGES ON DATABASE userdb to user;" psql —-command “\q;” psql -U user -d […]

在Docker Compose多容器应用程序中,如何防止Postgres运行以前发布的语句

我正在运行一个Scrapy项目,其中有一个将数据写入PostgreSQL数据库的Item Pipeline。 这是一个Docker Compose多容器应用程序,具有以下docker-compose.yml : version: '3' services: privoxy: build: ./privoxy links: – tor tor: build: context: ./tor args: password: "foo" scraper: build: ./scraper environment: – http_proxy=http://privoxy:8118 – PGPASSWORD=iperpassword links: – tor – privoxy – db volumes: – scraper-data:/scraper/apkmirror_scraper/data – scraper-jobdir:/scraper/apkmirror_scraper/crawls db: image: postgres environment: – POSTGRES_PASSWORD=iperpassword volumes: – db-data:/var/lib/postgresql/data volumes: scraper-data: scraper-jobdir: db-data: 我正在使用官方存储库( […]

连接两个docker集装箱

我有两个容器,第一个用django ,第二个用postgresql 。 那么,在我的第一台服务器上,我已经运行django ,我试图连接到第二个。 第二个容器的端口32770暴露,但内部运行在端口5432 。 在我的本地机器上,我有连接:服务器:'本地主机'端口:32770用户:'myuser'密码:'' 这是连接,但与我的django容器,我得到这个错误: could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 32770? 端口5432 我如何连接两台服务器?

Docker PostgreSQL服务:无法绑定IPv6套接字:无法分配请求的地址

我使用Docker运行PostgreSQL服务。 出于某种原因,PostgreSQL想绑定到IPV6 – 虽然我没有在那里指定(至less据我所知)。 由于这个原因,我无法连接到PG。 相关细节如下: Dockerfile FROM postgres:9.6 RUN apt-get update \ && apt-get -y install apt-utils \ && apt-get -y install python3 \ && apt-get -y install postgresql-plpython3-9.6 COPY sql /docker-entrypoint-initdb.d/ EXPOSE 5432 # Add VOLUMEs to allow backup of config, logs and databases VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] PostgreSQL日志文件的内容 LOG: received fast shutdown […]

PostgreSQL泊坞窗图像build立错误

我正在为源代码创build一个用于postgresql安装的docker镜像。 这里是我根据postgresql文档创build的Dockerfile: FROM ubuntu RUN apt-get update && apt-get install gcc zlib1g-dev libreadline6-dev apt-utils make -y RUN mkdir -p /tmp/downloads ADD https://ftp.postgresql.org/pub/source/v9.6.6/postgresql-9.6.6.tar.gz /tmp/downloads RUN cd /tmp/downloads && tar -zxf postgresql-9.6.6.tar.gz RUN cd /tmp/downloads/postgresql-9.6.6 && make configure RUN cd /tmp/downloads/postgresql-9.6.6 && ./configure RUN cd /tmp/downloads/postgresql-9.6.6 && make RUN cd /tmp/downloads/postgresql-9.6.6 && su RUN cd /tmp/downloads/postgresql-9.6.6 && […]

从本地机器上的psycopg2连接到Docker上的PostgreSQL数据库

我已经使用下面的命令来创build一个运行Postgres的Docker镜像: docker pull postgres docker run –name test-db -e POSTGRES_PASSWORD=my_secret_password -d postgres 然后我创build了一个名为test的表,并将一些随机数据插入到几行中。 我现在试图在本地机器上通过Python中的psycopg2连接到这个数据库表。 我使用命令docker-machine ip default查找docker-machine ip default的IP地址为192.168.99.100,并使用以下命令尝试连接: conn = psycopg2.connect("dbname='test-db' user='postgres' host='192.168.99.100' password='my_secret_password' port='5432'") 这不是与“OperationalError:无法连接到服务器:连接被拒绝(0x0000274D / 10061)”的错误信息 。 。 一切似乎都是为了这个,所以我想不出为什么会被拒绝。 根据这个postgres镜像的文档( https://hub.docker.com/_/postgres/ ),这个镜像包含了EXPOSE 5432(postgres端口),默认的用户名是postgres。 我也尝试使用docker inspect test-db | grep IPAddress | awk 'print{$2}' | tr -d '",'获取映像本身的IP地址 docker inspect test-db | grep IPAddress […]

用postgresconfigurationdockerfile

试图让Dockerfile的postgres数据库需要我的应用程序。 Dockerfile FROM postgres:9.4 RUN mkdir /sql COPY src/main/resources/sql_scripts/* /sql/ RUN psql -f /sql/create_user.sql RUN psql -U user -W 123 -f create_db.sql RUN psql -U user -W 123 -d school_ats -f create_tables.sql 跑 docker build . 结果: Sending build context to Docker daemon 3.367 MB Step 1 : FROM postgres:9.4 —> 6196bca94565 Step 2 : […]

docker中localhost和postgres之间的区别

我正在开发一个Django的应用程序,并试图在Docker中运行它。 我有一个我目前无法理解的问题。 当使用docker-compose运行应用程序时,当我使用这些configuration时,似乎web应用程序无法连接到数据库: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'my_db', 'USER': 'my_user', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '5432', } 但是一旦我把主机改为postgres ,它就可以工作。 喜欢这个 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'my_db', 'USER': 'my_user', 'PASSWORD': '', 'HOST': 'postgres', 'PORT': '5432', } postgres和localhost什么区别? 一个是运行没有和docker中的问题,而不是在我的mac中的开发环境,另一个是相反的。 # docker-compose.yml version: '3' services: db: image: postgres expose: – "5432" […]

不能连接到与GDAL ogr2ogr远程postgres

我试图通过Gdal ogr2ogr插入一个shapefile到PostgreSQL中,命令如下所示: ogr2ogr -f 'PostgreSQL' PG:dbname='dbname',user='user',host='172.17.2.176',password='password',port='5432' shapefile -nln 'cities' 但是,ogr2ogr似乎无法连接到单独的泊坞窗容器中的PosgreSQL。 所有的连接参数都是正确的,其他的连接都被成功的创build并且使用相同的连接参数执行到同一个PostgreSQL容器。 Laravel迁移,在这些表上执行命令之前检查数据库和表是否存在的命令行sql,以及使用COPY命令导入csv文件,都使用ogr2​​ogr命令中使用的相同连接参数成功运行到单独的PostgreSQL泊坞石器容器。 当我运行: ogrinfo 'PostgreSQL' PG:dbname='dbname',user='user',host='172.17.2.176',password='password',port='5432' 我得到一个错误:“无法打开数据源`PostgreSQL与以下驱动程序…” 列出的驱动程序之一是“ – > PostgreSQL” 这意味着PostgreSQL驱动程序被加载和启用? < – 一个混乱点 正在连接的用户具有超级用户权限,由官方PostgreSQL docker镜像中的.sh脚本创build: https : //github.com/docker-library/postgres/tree/master/9.4 据我可以看到,通过我的研究谷歌和文档,一切都是正确的,应该工作.. 超级用户权限,数据库连接正确的语法,驱动程序加载..我错过了什么? 我一直在努力做这个工作几天,我需要帮助。

不能为docker中的postgres添加模式

我试图在Docker中构build一个包含nginx,postgresql和php-fpm的debian镜像。 我设法让nginx和php-fpm工作。 Postgres也在工作,但我不能将模式添加到我创build的数据库。 Dockerfile中与postgres相关的代码(从docker网站获得)如下: # Add database RUN apt-get update && apt-get install -y postgresql-9.4 postgresql-client-9.4 postgresql-contrib-9.4 # Run the rest of the commands as the “postgres“ user created by the “postgres-9.4“ package when it was “apt-get installed“ USER postgres # Create a PostgreSQL role named “use_name“ with “user_password“ as the password and # then […]