相关疑难解决方法(0)

Docker-Compose 和 Postgres 扩展

这是我的 docker-compose 文件。有没有简单的方法来安装 postgres 扩展?我正在尝试安装pg_trgm.

编辑:我现在有两个 dockerfiles 和一个安装脚本。当我跑步时它似乎不起作用docker-compose up build

Internal server error: pq: operator does not exist: character varying % unknown

services:
  db:
    build:
      context: .
      dockerfile: db/Dockerfile
    image: postgres
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=x
      - POSTGRES_PASSWORD=x
      - POSTGRES_DB=x

  api:
    build:
      context: .
      args:
        app_env: ${APP_ENV}
    volumes:
      - .:/go/src/x/y/z
    ports:
      - "8080:8080"
Run Code Online (Sandbox Code Playgroud)

数据库/Dockerfile:

FROM postgres
COPY db/install-extensions.sql /docker-entrypoint-initdb.d
Run Code Online (Sandbox Code Playgroud)

db/安装扩展.sql

CREATE EXTENSION IF NOT EXISTS pg_trgm;
Run Code Online (Sandbox Code Playgroud)

postgresql docker docker-compose

9
推荐指数
1
解决办法
2万
查看次数

docker-compose mariadb docker-entrypoint-initdb.d sql 未执行

我试图让我的 docker db 容器在创建时使用数据集自动填充数据库。根据mariadb 文档,卷中有一个docker-entrypoint-initdb.d文件夹可用于此目的。

我将我的docker-compose.yml文件设置为镜像我在 StackOverflow 上找到的示例,但仍然无法执行我的 SQL 脚本。以下是我的docker-compose.yml文件的相关部分:

version: '3.6'
services:

  db:
    image: mariadb:10.5.4-focal
    container_name: db
    volumes:
      - ./cms/conf/mysql/data/:/var/lib/mysql/:rw
      - ./cms/sql/:/docker-entrypoint-initdb.d/:ro
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_USER=root
      - MYSQL_PASSWORD=password
      - MYSQL_DATABASE=wordpress
    restart: always

  adminer:
    image: adminer:4.7.7-standalone
    container_name: adminer
    links:
      - db
    ports:
      - 8080:8080
    restart: always
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml文件旁边,我有一个cms/sql/init.sql包含以下内容的文件:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `test`;
Run Code Online (Sandbox Code Playgroud)

在每次测试迭代之前,我会清理所有旧的/缓存的 Docker 内容:

  1. $ docker-compose …

mariadb docker adminer docker-compose

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

标签 统计

docker ×2

docker-compose ×2

adminer ×1

mariadb ×1

postgresql ×1