Tag: postgresql

Docker Postgres主机上的数据卷

我有一个简单的小问题。 我有一个应用程序(ASPNET核心)和db(Postgres)。 我首先运行数据库的容器,然后运行应用程序容器,以便应用程序可以在运行时发现数据库。 现在我可以使用pgAdmin工具(在Windows)连接Postgres数据库,一切正常。 现在,如果我运行一个数据卷命令的Postgres容器,如: docker run -p 5432:5432 -d -v pg-data:/var/lib/postgresql/data –network=isolated_network –name postgres -e POSTGRES_PASSWORD=5432 postgres 在这里,我可以连接到运行在容器中的Postgres实例,并在那里获取我的数据。 在这里,我有一个问题,主机上的数据量pg-data可用? 而且,如果我将我的Windows目录安装到Docker引擎并运行以下命令: docker run -p 5432:5432 -d -vd:/data:/var/lib/postgresql/data –network=isolated_network –name postgres -e POSTGRES_PASSWORD=5432 postgres 我看到在D:\驱动器上的data文件夹,但我不能用pgAdmin工具连接到这个Postgres容器的实例,我的应用程序停止工作。

在Dockerfile中创build一个新的PostgreSQL用户

我需要为我在Docker镜像中构build的PostgreSQL实例创build一个新的超级用户。 我似乎无法创build一个,这是我迄今为止尝试过的… 尝试使用“postgres”用户创build一个新的超级用户 RUN /etc/init.d/postgresql start &&\ sudo su – postgres &&\ sudo psql -U postgres –command "CREATE USER pybossa WITH SUPERUSER PASSWORD 'tester';" &&\ createdb pybossa -O pybossa > * Starting PostgreSQL 9.3 database server > …done. >psql: FATAL: Peer authentication failed for user "postgres" “postgres”用户默认没有密码,所以我通过–no-password RUN /etc/init.d/postgresql start &&\ sudo su – postgres […]

docker-compose rails应用程序在使用时找不到数据库,但是在运行时没有find数据库

我有一个简单的Rails应用程序,我试图运行使用Docker。 当我运行docker-compose up它运行,但是当我加载一个页面,它告诉我,我的数据库不存在。 即使当我运行docker-compose run app rails db:create它说db已经存在。 泊坞窗,compose.yml version: '2' services: db: image: postgres app: build: ./rails command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: – ./app:/app ports: – "3000:3000" depends_on: – db ./rails/Dockerfile FROM ruby:2.3.3 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /app WORKDIR /app […]

Dockerizing PostgreSQL

所以我的devops朋友使用docker cloud为我的应用程序设置了一个环境。 他设置了一些临时数据库密码,并告诉我在docker-compose.yml , docker-cloud.yml文件中更改它们。 我docker-cloud.yml文件如下所示: db: image: mdillon/postgis:9.6 ports: – "5432:5432" environment: POSTGRES_PASSWORD: temppasswd POSTGRES_USER: myuser POSTGRES_DB: mydb web: autoredeploy: true image: myapp/myapp_api:latest ports: – "80:8000" links: – db environment: DATABASE_NAME: mydb DATABASE_USER: myuser DATABASE_PASSWORD: temppasswd cron: autoredeploy: true image: myapp/myapp_api:latest links: – db command: cron -f -L 15 他还告诉我在Docker云端堆栈中更改密码,并重新部署,我没有任何效果。 含义:新密码不起作用,我仍然可以用旧密码login。 那么如何改变这个密码?

Django模型更改不反映在Postgres Docker容器上

我有一个与Docker部署的Django-Postgres应用程序。 我有两个docker容器web和db和一个docker卷用于持久性存储。 我docker-compose.yml文件: version: '2' services: db: image: postgres ports: – '5432:5432' volumes: – 'postgres:/var/lib/postgresql/data' env_file: .env web: build: . command: ./start.sh volumes: – .:/app ports: – "8000:8000" depends_on: – db env_file: .env volumes: postgres: 我在我的django model.py做了一个改动: class Meeting(models.Model): […] participants = models.CharField(max_length=200) 至 class Meeting(models.Model): […] user_participants = models.CharField(max_length=200) 但是,这个变化并没有反映在我的Django应用程序,我得到以下错误: 列call_meeting.user_participants不存在 我跑了: python manage.py […]

如何configurationdocker和postgres使用协议代理

本地主机查看协议 我已经安装了postgres和docker的brew版本。 按照链接https://github.com/DiUS/pact_broker-docker/blob/master/POSTGRESQL.md中的步骤创build一个dockerised协议代理和postgres。 当我运行第一个命令,容器被创build错误: docker run –name pactbroker-db -e POSTGRES_PASSWORD=ThePostgresPassword -e POSTGRES_USER=admin -e PGDATA=/var/lib/postgresql/data/pgdata -v /var/lib/postgresql/data:/var/lib/postgresql/data -d postgres 响应: b8a2007e5dac9554e0ac615147d74467ceb6043dba027a4a21388721cee8f34c docker: Error response from daemon: Mounts denied: The path /var/lib/postgresql/data is not shared from OS X and is not known to Docker. You can configure shared paths from Docker -> Preferences… -> File Sharing… 不知何故设法绕过第一步,通过删除绑定卷选项: […]

在docker环境中configurationtcp md5的Postgres

我正在尝试configurationPostgres以接收使用md5encryption密码的连接。 我阅读了大量的手册,并按照指示,但我没有成功。 我们有几个docker容器,其中一个是使用init_db.sh脚本configuration的Postgres 9容器。 正在运行的容器上的最终configuration是: listen_addresses = '*' local all all md5 host all all all md5 运行:lsof -i tcp:5432(我现在在我的Mac上运行),产生了这样的结果: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME com.docke 17454 sigals 36u IPv4 0x13ec351b99f025cd 0t0 TCP *:postgresql (LISTEN) com.docke 17454 sigals 37u IPv6 0x13ec351b8ce8a025 0t0 TCP localhost:postgresql (LISTEN) 当我启动使用encryption密码运行的容器时,出现:ERROR org.apache.tomcat.jdbc.pool.ConnectionPool:182 – 无法创build池的初始连接。 2017-02-08T14:07:43.438478547Z org.postgresql.util.PSQLException: […]

在Docker上使用Systemd的CentOS

我实际上正在使用Gitlab-CI对我的剧本进行自动化testing,Ubuntu工作得很好,没有问题。 我实际上遇到的问题是CentOS和Systemd,首先是Playbook(在CentOS7中安装Postgres 9.5): – name: Ensure PostgreSQL is running service: name: postgresql-9.5 state: restarted ignore_errors: true when: – ansible_os_family == 'RedHat' 所以,这是我得到,如果我想在容器内启动postgres: Failed to get D-Bus connection: Operation not permitted\nFailed to get D-Bus connection: Operation not permitted\nFailed to get D-Bus connection: Operation not permitted\nFailed to get D-Bus connection: Operation not permitted\nFailed to get D-Bus connection: […]

如何在docker中为postgres运行sql脚本

我正在关注这个post来运行SQL脚本来创build默认表。 这是我的docker撰写文件 version: "3" services: web: build: . volumes: – ./:/usr/src/app/ – /usr/src/app/node_modules ports: – “3000:3000” depends_on: – postgres postgres: container_name: postgres build: context: . dockerfile: pgDockerfile environment: POSTGRES_PASSWORD: test POSTGRES_USER: test ports: – 5432:5432 这是我的pgDockerfile FROM postgres:9.6-alpine # copy init sql ADD 00-initial.sql /docker-entrypoint-initdb.d/ 这是我的SQL脚本 CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE IF […]

将Docker容器中的rails应用程序通过URL连接到外部Postgresql数据库

我有一个networking导轨应用程序的docker容器。 另外我在我的OSX机器上有外部数据库。 如果我在osx上执行: psql "postgres://postgres:testing@0.0.0.0:5432/movies_development" 我跑得好 如果我在容器中运行,我会收到 psql: 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"? 有任何想法如何从容器连接到外部数据库? 谢谢