如何使用docker-compose

时间:2017-01-30 20:39:16

标签: postgresql docker docker-compose

我想使用docker-compose启动Postgres数据库,并使用PGOPTIONS environment variable传递一些配置。我的docker-compose.yml看起来像这样:

version: '2'

services:
  db:
    image: postgres
    environment:
     - POSTGRES_USER=dbuser
     - POSTGRES_PASSWORD=dbpw
     - PGOPTIONS='-c track_activities=on -c track_counts=on -c track_io_timing=on'

当我使用docker-compose up db启动此服务时,我得到:

db_1   | FATAL:  parameter "track_io_timing" requires a Boolean value
db_1   |  done
db_1   | server started
db_1   | FATAL:  parameter "track_io_timing" requires a Boolean value
db_1   | psql: FATAL:  parameter "track_io_timing" requires a Boolean value

它似乎与tracking_io_timing参数无关,因为当我从PGOPTIONS变量中删除该参数时,我会得到相同的错误,但对于track_counts变量。所以我怀疑我宣布PGOPTIONS的方式有问题。

1 个答案:

答案 0 :(得分:1)

使用提供的Docker-Compose文件时,结果相同。我试图使用替代语法来定义环境变量,我不再得到错误了:

   INSERT INTO OtherTable ( UserID, AccruedHours )
   SELECT ID, Accrued 
   FROM   tblUsers 
   WHERE  ID IN 
          (
            <cfqueryparam value="#FORM.userIDList#" cfsqltype="cf_sql_integer" list="true"> 
          )