当前位置: 首页 > 知识库问答 >
问题:

码头港集装箱在迁移后停止

孟海
2023-03-14

我有一个在docker容器中运行的nodejs API,我想使用Kong作为API-gateway。Kong将在另一个docker容器中运行。当我使用docker-compose启动API容器和Kong容器时,Kong容器抛出一个错误声明;

kong       | stack traceback:
kong       |    [C]: in function 'assert'
kong       |    /usr/local/share/lua/5.1/kong/init.lua:160: in function 'init'
kong       |    init_by_lua:3: in main chunk
kong       | 2018/02/07 11:14:17 [warn] postgres database 'kong' is missing migration: (response-transformer) 2016-05-04-160000_resp_trans_schema_changes
kong       | nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:160: [postgres error] the current database schema does not match this version of Kong. Please run `kong migrations up` to update/initialize the database schema. Be aware that Kong migrations should only run from a single node, and that nodes running migrations concurrently will conflict with each other and might corrupt your database schema!
version: '3.1'

services:
  couchdb:
    image: couchdb
    container_name: e-db
    ports:
      - 5984:5984
    environment:
      COUCHDB_USER: admin
      COUCHDB_PASSWORD: admin

  api:
    image: e-api
    container_name: e-api
    entrypoint: ./docker-entrypoint.sh couchdb 5984
    build: .
    command: npm run dev
    depends_on:
      - couchdb
    ports:
      - 8080:8080

  kong-db:
    image: postgres:alpine
    container_name: kong-db
    restart: on-failure
    ports:
      - 5432
    environment:
      POSTGRES_USER: kong
      POSTGRES_DB: kong

  kong:
    image: kong:0.12.1-alpine
    container_name: kong
    restart: on-failure
    depends_on:
      - kong-db
    ports:
      - 8000:8000
      - 8443:8443
      - 8001:8001
    environment:
      KONG_PG_HOST: kong-db
      KONG_DATABASE: postgres
    command: kong migrations up

  kong-ui:
    image: pgbi/kong-dashboard
    container_name: kong-ui
    restart: on-failure
    ports:
      - 8089:8080
    depends_on:
      - kong

共有1个答案

仲浩旷
2023-03-14

Kong:0.12.1只支持postgresql 9.5+作为数据存储。因此,一定要将kong与PostgreSQL的兼容版本链接起来。

如果您将多个孔指向相同的数据库和相同的用户,那么请确保孔模式匹配。

 类似资料:
  • 我想移除一个容器,移除时间太长 当我重新运行命令时,我得到: 我使用的环境: Docker版本:17.05.0-ce Ubuntu版本:16.04

  • 我们有计划实施AWS弹性豆茎与多集装箱码头。我有一个对所有服务具有完全访问权限的IAM用户。我已经创建了docker图像,并成功地推到AWS弹性容器服务。当我使用AWS弹性Beanstalk将docker映像(.json)部署到服务器时,我遇到了以下问题。请指导我解决问题。我已经检查了IAM用户策略,并添加了Amazon ECS,弹性Beanstalk完全访问.我已经为您的引用列出了我的.json

  • 我制作了一个customer-pod(包括一个运行在端口8080上的Spring Boot应用程序的映像)。 我可以用“$kubectl get pods commands-o wide”来检查它 ================================================================= 名称就绪状态重新启动老化IP节点

  • 问题内容: 我是Docker的新手,正在尝试制作一个演示Rails应用程序。我做了一个看起来像这样的dockerfile: 然后,我像这样构建它: 并调用命令来启动服务器,该服务器会在端口8080上启动服务器: 然后,我尝试找到正确的IP以导航至: 我导航到http://192.168.99.100:8080并收到错误消息192.168.99.100拒绝连接,无法访问此站点。 我可能做错了什么?

  • 我需要在docker容器中同时运行mozzidto和mongoDB,所以我写了这个docker文件 但这样做的话,只有莫斯奎托能跑。如果我设置为entrypoint only MOSQUITO或only mongodb,它可以工作,我甚至可以从外部访问,但我不能让两者都在同一个容器中运行。有办法吗?

  • 我在设置多docker容器环境时遇到问题。这个想法相当标准: 一个容器运行php fpm 我的phpfpm Docker文件非常简单: Nginx更是如此: 其中文件夹中有一个文件 还有docker-compose.yml 这种精确的设置在AWS Elastic Beanstalk上非常有效。但是,在我的本地docker上,我遇到了如下错误: 2016/11/17 09:55:36[错误] 6#6