Tag: postgresql

无法在Docker上从Rails控制台连接到数据库

我使用Dockers在Digitalocean安装了我的rails项目。 这是我docker-compose.prod.yml文件。 version: "2" volumes: db-data: external: false services: db: image: postgres env_file: .env.production volumes: – db-data:/var/lib/postgresql/data app: build: . env_file: .env environment: RAILS_ENV: production ports: – "3000:3000" depends_on: – db 这是我的database.yml文件 default: &default adapter: postgresql encoding: unicode host: db username: <%= ENV["POSTGRES_USER"] %> password: <%= ENV["POSTGRES_PASSWORD"] %> # For details on connection pooling, see […]

docker-compose rails rake db:重置失败,“不能删除当前打开的数据库”

我似乎无法重置我的数据库,而使用docker撰写。 我试过杀死服务器,只杀死数据库,然后重启机器。 任何人都知道清除开发数据库的最好方法吗? 这是我的尝试: docker-compose run web rake db:reset 我得到这个错误: PG :: ObjectInUse:错误:不能删除当前打开的数据库:DROP DATABASE IF EXISTS“postgres”无法删除数据库'postgres'耙中止! 我完全按照docker-compose quickstart的描述使用设置: https : //docs.docker.com/compose/rails/ 我有一个轨道容器和一个postgres容器

Docker-compose环境variables

我想设置一个postgres容器,并想要设置postgreslogin: POSTGRES_USER: docker POSTGRES_PASSWORD: docker 所以我创build了docker-compose.yml web: build: . ports: – "62576:62576" links: – redis – db db: image: postgres environment: POSTGRES_PASSWORD: docker POSTGRES_USER: docker redis: image: redis 我也尝试了其他的声明db部分的环境variables的语法: db: image: postgres environment: – POSTGRES_PASSWORD=docker – POSTGRES_USER=docker 但是,这些选项似乎都不起作用,因为无论什么原因,当我尝试连接到使用各种连接stringpostgres数据库: postgres://postgres:postgres@db:5432/users postgres://postgres:docker@db:5432/users postgres://docker:docker@db:5432/users 他们都给我auth失败,而不是抱怨没有用户数据库。

用Docker创build缓慢的Django模型实例

我有一些模型Django的应用程序。 我有manage.py命令创buildn模型并将其保存到数据库。 它在我的主机上以合适的速度运行。 但是,如果我在docker运行它运行速度非常慢,1个实例创build和保存在40-50秒。 我认为我错过了Docker的工作方式,有人可以指出为什么性能低下,我该怎么办呢? docker-compose.yml : version: '2' services: db: restart: always image: "postgres:9.6" ports: – "5432:5432" volumes: – /usr/local/var/postgres:/var/lib/postgresql environment: – POSTGRES_PASSWORD=postgres – POSTGRES_DB=my_db – POSTGRES_USER=postgres web: build: . command: bash -c "./wait-for-it.sh db:5432 –timeout=15; python manage.py migrate; python manage.py runserver 0.0.0.0:8000; python manage.py mock 5" ports: – "8000:8000" expose: – "8000" depends_on: […]

Docker-Compose Postgresql导入转储

我有一个关于docker和Postgres的问题。 每次docker启动时,我都要设置一个新的postgres数据库,并且要导入给定的转储。 我的问题是喜欢,但答案是不够的: Docker postgres不运行docker-entrypoint-initdb.d中的init文件 多克尔 – 撰写: postgres: environment: – POSTGRES_USER=**** – POSTGRES_PASSWORD=**** – POSTGRES_DB=**** build: context: . dockerfile: dockerfile-postgres 我的Dockerfile :(我已经用.sh结尾的脚本试过了) FROM postgres ADD dump.sql /docker-entrypoint-initdb.d/ 根据https://hub.docker.com/_/postgres/必须使用dump.sql来导入数据库。 使用docker启动应用程序只会提供: postgres_1 | LOG: invalid record length at 0/1708600 postgres_1 | LOG: redo is not required postgres_1 | LOG: MultiXact member wraparound protections are now enabled […]

在Docker-Composose开始时,Postgres立即closures

在Docker-Composose开始时,Postgres立即closures。 下面是使用的yaml文件 version: '2' services: postgres: image: postgres:9.5 container_name: local-postgres9.5 ports: – "5432:5432" 执行docker-compose up命令时的日志 Creating local-postgres9.5 Attaching to local-postgres9.5 local-postgres9.5 | The files belonging to this database system will be owned by user "postgres". local-postgres9.5 | This user must also own the server process. local-postgres9.5 | local-postgres9.5 | The database cluster will be initialized […]

通过boot2docker将卷挂载到postgres容器

我试图在OSX上用boot2docker运行postgres映像的容器。 这个命令适用于我的Ubuntu: docker run -v $(pwd)/data:/var/lib/postgresql/data postgres 但是OSX说: fixing permissions on existing directory /var/lib/postgresql/data … ok creating subdirectories … initdb: could not create directory "/var/lib/postgresql/data/global": Permission denied initdb: removing contents of data directory "/var/lib/postgresql/data" chmod没有帮助。 我试过选项 – 用户–user $(id -u):$(id -g) 。 它在Ubuntu上打破了容器,它改变了OSX上的错误。 Ubuntu: chmod: changing ownership of '/var/lib/postgresql/data': Operation not permitted OSX: chmod: changing […]

连接go和postgres与docker-compose

我试图用docker-compose连接一个go和一个postgres容器。 这是我的docker-compose.yml: version: '2' services: postgres: image: postgres ports: – "5432" environment: – POSTGRES_PASSWORD=postgres server: build: ./server command: gin volumes: – ./server:/go/src/app ports: – "8080:3000" 起初,我试图用docker-compose.yml中的links命令,但是没有在服务器容器中创build任何envvariables,所以让我感到困惑。 (它应该创buildSOMETHINGSOMETHING_PORT_5432_TCP_ADDR和SOMETHINGSOMETHING_5432_TCP_PORT,不是吗?) 然后,我读了一个地方,我只能使用http:// postgres作为主机,所以我试过了。 所以现在这是我的main.go如何(注意:我使用Gorp“ORM”): func main() { dbinfo := fmt.Sprintf("user=%s password=%s host=%s dbname=%s sslmode=disable", "postgres", os.Getenv("DB_ENV_POSTGRES_PASSWORD"), "http://postgres", DB_NAME, ) db, err := sql.Open("postgres", dbinfo) checkErr(err, "sql.Open failed") // construct […]

docker中的pg_dump:“无法打开输出文件”“协议错误”

启动一个docker postgresql容器,将一个使用pg_dump的数据库转储到一个已安装的卷上,结果如下: could not open output file "blah": protocol error protocol error不同于这里讨论的permission denied问题。 这个错误是什么意思? 装入的卷中没有现有文件。 我在OSX上使用docker-machine。

Django服务器不会在Docker-Compose中启动

我正试图将一个Django项目移植到Docker-Compose进行部署。 我跟着各种教程在线,从我的理解,我的应用程序需要的唯一的服务是Django和Postgres。 这是我的docker-compose.yml文件: db: image: postgres:latest ports: – "5432" environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres web: build: . ports: – "8000:8000" volumes: – .:/code links: – db command: python3 manage.py runserver 0.0.0.0:8000 我已经在我的virtualenv本地testing了python命令,并且服务器启动了,但是当我在应用程序的副本所在的文件夹中运行“docker-compose up”时,我得到以下输出: Creating hpr_db_1 Creating hpr_web_1 Attaching to hpr_db_1, hpr_web_1 db_1 | The files belonging to this database system will be owned by user […]