Tag: postgresql

dockerize Rails应用程序,错误Postgres

我正在尝试dockerize一个Rails应用程序。 我得到的问题是,我得到这个错误: PG::ConnectionBad: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 容纳Postgres的Docker容器(运行btw): 3e11664277b3 postgres:9.6.1 "/docker-entrypoint.s" 2 days ago Up 33 minutes 0.0.0.0:15432->5432/tcp mystore_prod_db_1 包含以下数据库: Name | Owner | Encoding | Collate | Ctype | Access privileges ——————-+———-+———-+————+————+———————– myshop_prod_db | shopradu […]

在Docker容器中创build一个正在运行的Postgres服务

我对Docker有点新鲜。 我有两个使用docker-compose运行的容器。 一个是API,另一个是实际的应用程序。 我想使用Postgres官方图像添加一个新的数据库容器。 find一个关于如何创build容器的简单教程,并用一个预定义的sql文件(模式和数据)填充它是有点困难的。 当我从Dockerfile中的“CMD /etc/init.d/postgresql start”开始时,我得到一个错误:“没有PostgreSQL集群存在;请参阅”man pg_createcluster“…(警告)。 由于需要花费太多的时间才能完成任务,所以想知道是否可以更好地获取Ubuntu映像,并自行安装Postgres,因为只有一个源代码如何使用映像中心,好像不明白这点。 有关如何撰写和“configuration”这个图像的任何想法或简单的步骤?

无限地在后台运行Python脚本

我正在尝试编写一个在另一个服务器上运行的python脚本,即使我在我的PCterminal上closures了我的服务器连接,它也会继续在该服务器上运行。当脚本保持活动状态时,它会无限次地运行网站(UI),事件发生后,它会适当地启动某些泊坞窗并继续收听PosgreSQL事件。 当我尝试使用nohup (在后台运行脚本)时,它在后台运行,但无法收听任何事件。 有没有人从事过类似的事情? 请分享你的想法。 我正在分享我的脚本的一部分。 self.pool = await asyncpg.create_pool(user='alg_user',password='algy',database='alg',host='brain',port=6543) async with self.pool.acquire() as conn: def enqueue_listener(*args): self.queue.put_nowait(args) await conn.add_listener('task_created', enqueue_listener) print("Added the listener") while True: print("—- Listening for new job —-") conn2, pid, channel, payload = await self.queue.get() x = re.sub("[^\w]", " ", payload).split() print(x) if x[5] == '1': tsk = 'TASK_ID=%s' % str(x[1]) […]

在Docker容器中恢复本地pg_dumpall

我浏览了网页,找不到适合我需求的解决scheme。 我一直在使用Flask而不是Django松散地学习这个教程。 我有docker-compose build命令工作没有错误,然后docker-compose up命令也工作。 后者我得到name_of_container_data_1 exited with code 0和一群gunicorn工人超时name_of_container_data_1 exited with code 0 。 没有任何服务。 这个问题可能与postgres数据库,但还不确定… 我做了什么 pg_dumpall -c -U postgres > dump_ date +%d-%m-%Y“ ”%H %M_%S .sql from my local postgres instance docker-compose.yml(只是其中的一部分) postgres: image: postgres:latest volumes_from: – data volumes: – ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d – ./backups/postgresql:/backup expose: – "5432" data: restart: always image: alpine volumes: […]

Docker需要访问主机的Postgres数据库

我有一个在Docker容器中运行的Flask应用程序,我可以使用以下命令运行它。 docker run -e DB_HOST=<…> -e DB_PORT=<…> -e DB_NAME=<…> -e DB_USER=<…> -e DB_PASSWORD=<…> -p 8080:8080 <tag name> 数据库在AWS之前,现在数据库正在MAC笔记本上运行。 那么Doc​​ker容器中的Flask应用程序如何连接到主机Postgres的数据库呢? 什么应该是我的DB_HOST?

docker中的pg_dump服务器和pg_dump版本不匹配

当我在railsApp容器中运行命令psql –version ,得到了9.4.12 ,当我在postgres容器中运行相同的命令时,得到了9.6.2 。 我怎样才能让版本匹配? 当我尝试在Rails应用程序上执行pg_dump sql导入时,出现以下错误。 pg_dump: server version: 9.6.2; pg_dump version: 9.4.12 pg_dump: aborting because of server version mismatch rails aborted! 这是我的Docker-compose.yml文件: version: "2.1" services: railsApp: build: context: ./ ports: – "3000:3000" links: – postgres volumes: – .:/app postgres: image: postgres:9.6 ports: – "5432:5432" volumes: – ./.postgres:/var/lib/postgresql Dockerfile: FROM ruby:2.3.3 # setup […]

在Python容器中设置Docker Postgres

我目前有一个运行在docker镜像中的python3 web应用程序。 我正试图恢复docker容器(dump.pgsql)中的本地数据库转储并连接到我的应用程序中的该数据库。 我有几个问题。 从Python容器中,我似乎无法下载任何版本的postgres(9.1-9.6),一旦我能够恢复数据库,我将如何获得连接(我目前通过loginURI连接到云数据库)。 我的DockerFile是: FROM python:3 ADD . /code WORKDIR /code EXPOSE 5000 RUN pip install -r requirements.txt #Run Postgres Locally RUN apt-get install -y postgresql-9.2 RUN postgres restore code.pgsql CMD ["python3", "app.py"] 我运行命令 docker build -t code . docker run –name code -ti -p 8000:8000 code

initdb:无法更改Postgresql容器上目录的权限

我是docker工作者生态系统的新手,我正在尝试使用一个yaml作曲文件来创build一个简单的postgres容器和一个卷,以便保存它的数据。 该文件如下所示: # Use postgres/example user/password credentials version: '3.3' services: db: image: postgres environment: POSTGRES_DB: recrow POSTGRES_USER: recrow POSTGRES_PASSWORD: recrow_db_1000 PGDATA: /var/lib/pgsql/data/pgdata volumes: – ./pgsql/data:/var/lib/pgsql/data/pgdata 但是,在调用docker-compose -f stack.yml up ,出现以下错误: 修复现有目录/ var / lib / postgresql / data / pgdata的权限… initdb:无法更改目录“/ var / lib / postgresql / data / pgdata”的权限:操作不允许 /var/lib/pgsql/data/pgdata应该是相对于容器根目录的目录,而./pgsql/data是主机上的path。 我从安装在/mnt/storage上的ntfs-3g分区运行容器。 可能是什么问题呢? 我也运行docker没有根权限,通过添加我的用户到docker组,这个用户也有完整的访问前面提到的挂载点/mnt/storage 。

使用Django和Docker从MySQL迁移到postgresql – 关系“authtoken_token”不存在

我正在尝试使用MySQL数据库将我的Django项目迁移到使用Docker的postgresql。 当我使用MySQL时,一切正常。 我有所有在ORM,所以当我使用MySQL时,我必须创build唯一的数据库和做的python manage.py makemigrations ,然后python manage.py migrate ,我准备好所有关系的数据库。 正如我所提到的,我试图使用postgresql数据库。 服务器似乎工作正常使用docker-compose up ,但是当我发送实例GET请求我得到: ProgrammingError at /data relation "authtoken_token" does not exist LINE 1: …user"."is_active", "auth_user"."date_joined" FROM "authtoken… 我的设置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'HOST': 'db', 'PORT': 5432, } } 我docker-compose.yml : version: '3' services: db: image: postgres web: build: […]

在php7-fpm Docker容器中安装postgre驱动

我已经使用docker-compose命令安装了PHP:latest Docker容器。 它在我的Docker中安装了php-7.1.6-fpm 。 当我试图安装php7-pgsql扩展时,找不到那个软件包,而是find了pdo和pdo_pgsql软件包。 这不能满足我的需要。 当我search已安装的PHP容器中的可用包时,找不到任何与php7相关的pgsql包,相反,我看到了php5-pgsql包,这对于php7-fpm不起作用。 最后,我安装了php-5.6-fpm容器,删除了旧的目标以使用php5-pgsql包。 但现在我再次失望,我无法在新安装的容器中findphp5-pgsql包。 我知道我会错过一些重要的观点。 无论高山Linux是否没有php-pgsql扩展名。 在我的PHP容器中包含这个扩展的可能方法是什么? 我还在我的docker-compose.yml中包含了Nginx和Postgres 我只有三天的Docker理论知识和第一天的实践经验。 谢谢阅读。