小编Alb*_*bac的帖子

如何将PostgreSQL容器与现有数据一起使用?

我正在尝试设置PostgreSQL容器(https://hub.docker.com/_/postgres/).我有一些来自当前PostgreSQL实例的数据.我将其复制/var/lib/postgresql/data并希望将其设置为PostgreSQL容器的卷.

我是关于PostgreSQL的docker-compose.yml文件的一部分:

db:
    image: postgres:9.4
    ports:
        - 5432:5432
    environment:
        POSTGRES_PASSWORD: postgres
        POSTGRES_USER: postgres
        PGDATA : /var/lib/postgresql/data
    volumes:
        - /projects/own/docker_php/pgdata:/var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)

当我做docker-compose时,我收到这条消息:

db_1  | initdb: directory "/var/lib/postgresql/data" exists but is not empty
db_1  | If you want to create a new database system, either remove or empty
db_1  | the directory "/var/lib/postgresql/data" or run initdb
db_1  | with an argument other than "/var/lib/postgresql/data".
Run Code Online (Sandbox Code Playgroud)

我试图从容器中创建自己的图像,所以我的Dockerfile是:

FROM postgres:9.4
COPY pgdata /var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)

但是我得到了同样的错误,我做错了什么?

更新

我使用pg_dumpall获取SQL并将其放在/docker-entrypoint-initdb.d中,但每次执行此文件都会执行docker-compose up.

postgresql docker

38
推荐指数
2
解决办法
3万
查看次数

如何在ubuntu上安装facebook watchman?

我从github链接https://github.com/facebook/watchman.git得到了守望者,然后我得到了watchman文件夹并尝试了这个

./autogen.sh 

./autogen.sh: 9: ./autogen.sh: aclocal: not found

./autogen.sh: 10: ./autogen.sh: autoheader: not found

./autogen.sh: 11: ./autogen.sh: automake: not found

./autogen.sh: 12: ./autogen.sh: autoconf: not found
Run Code Online (Sandbox Code Playgroud)

为什么?我有python 2.7.9.

这可能是原因吗?(我用ubuntu 15.04btw)

python facebook watchman react-native

17
推荐指数
1
解决办法
9261
查看次数

如何在Postgres中按数组列对结果进行分组?

我有这样一张桌子

id SERIAL,
user_id INT,
community_id INT[],
Run Code Online (Sandbox Code Playgroud)

表格填写方式如下:

id | user_id | community_id 
1  |  1      |   {2, 4}
2  |  5      |   {2, 5} 
3  |  10     |   {2, 4}
Run Code Online (Sandbox Code Playgroud)

我想获得每个社区拥有的COUNT个用户,community_id是数组cuz用户可以同时在多个社区中.

查询应该简单如下:

SELECT community_id, COUNT(user_id) FROM tbl GROUP BY community_id
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的:

community_id  | user_count
2             |  3
4             |  2
5             |  1
Run Code Online (Sandbox Code Playgroud)

我不知道如何GROUP BY列列.有谁能够帮我 ?

sql postgresql

16
推荐指数
1
解决办法
4336
查看次数

在Docker运行期间在Elasticsearch中设置映射

我将使用官方的Elasticsearch图像.我想要做的是在Docker运行期间设置索引的映射.

所以我需要在容器启动后立即执行.

curl -XPUT localhost:9200/_template/http_request -d {.....}

所以我不能在Dockerfile中这样做或者我可以吗?

谢谢

elasticsearch docker docker-compose

15
推荐指数
1
解决办法
3166
查看次数

为什么计划时间和执行时间如此不同Postgres?

我提出这样的问题

EXPLAIN (ANALYZE ,BUFFERS )
        SELECT COUNT(id) q, day
        FROM my_table
        WHERE role_id && ARRAY[15, 17]
        GROUP BY "day"
        ORDER BY "day" DESC;
Run Code Online (Sandbox Code Playgroud)

Postgres用这个回复我:

规划时间:0.286 ms
执行时间:127.233 ms

为什么是这样 ?我认为差异太大了

postgresql query-planner

6
推荐指数
1
解决办法
7767
查看次数

无法在PHP5.6-apache容器中安装memcached包

我正在尝试让mamcache工作.使用https://hub.docker.com/_/php/中的示例(PECL扩展).

我的dockerfile简单做了下一步:

 FROM php:5.6-apache

 RUN apt-get update && apt-get install -y libmemcached-dev \
 && pecl install memcached \ 
 && docker-php-ext-enable memcached
Run Code Online (Sandbox Code Playgroud)

但最后我得到了下一个:

checking for zlib location... configure: error: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located
ERROR: `/tmp/pear/temp/memcached/configure --with-php-config=/usr/local/bin/php-config --with-libmemcached-dir=no' failed
error: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/memcached does not exist

usage: /usr/local/bin/docker-php-ext-enable [options] module-name [module-name ...]
   ie: /usr/local/bin/docker-php-ext-enable gd mysqli
       /usr/local/bin/docker-php-ext-enable pdo pdo_mysql
       /usr/local/bin/docker-php-ext-enable --ini-name 0-apc.ini apcu apc

Possible values for module-name:
opcache.so …
Run Code Online (Sandbox Code Playgroud)

php docker

4
推荐指数
1
解决办法
1336
查看次数

路径项上的Swagger验证错误:"不允许其他属性"

我正在使用https://www.npmjs.com/package/swagger,我正在尝试创建配置.我有swagger.js的这一部分

       "dummy\/{id}\/related_dummies": {
            "get": {
                "tags": [
                    "RelatedDummy"
                ],
                "operationId": "get_by_parentRelatedDummyCollection",
                "produces": [
                    "application\/ld+json",
                    "application\/hal+json",
                    "application\/xml",
                    "text\/xml",
                    "application\/json",
                    "text\/html"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "integer"
                    }
                ],
                "summary": "Retrieves the collection of RelatedDummy resources.",
                "responses": {
                    "200": {
                        "description": "RelatedDummy collection response",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#\/definitions\/RelatedDummy"
                            }
                        }
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

但是,当我运行swagger验证swagger.js时,我不断收到此错误:

Project Errors
--------------
#/paths: Additional properties not allowed: dummy/{id}/related_dummies
Results: 1 errors, 0 warnings
Run Code Online (Sandbox Code Playgroud)

可能是错误的原因是什么?谢谢

symfony swagger

1
推荐指数
1
解决办法
6406
查看次数