一、制作alpine版的kong镜像

https://github.com/Kong/docker-kong/tree/d4cec3dc46c780a916a40963309554ca81da2b46/alpine

需要修改Dockerfile,增加执行权限,否则会报错:

  1. Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"/docker-entrypoint.sh\\\": permission denied\"\n".

修改后Dockerfile为:

  1. FROM alpine:3.6
  2. LABEL maintainer Marco Palladino, marco@mashape.com
  3. ENV KONG_VERSION 0.12.1
  4. ENV KONG_SHA256 9f699e20e7d3aa6906b14d6b52cae9996995d595d646f9b10ce09c61d91a4257
  5. RUN apk add --no-cache --virtual .build-deps wget tar ca-certificates \
  6. && apk add --no-cache libgcc openssl pcre perl tzdata \
  7. && wget -O kong.tar.gz "https://bintray.com/kong/kong-community-edition-alpine-tar/download_file?file_path=kong-community-edition-$KONG_VERSION.apk.tar.gz" \
  8. && echo "$KONG_SHA256 *kong.tar.gz" | sha256sum -c - \
  9. && tar -xzf kong.tar.gz -C /tmp \
  10. && rm -f kong.tar.gz \
  11. && cp -R /tmp/usr / \
  12. && rm -rf /tmp/usr \
  13. && cp -R /tmp/etc / \
  14. && rm -rf /tmp/etc \
  15. && apk del .build-deps
  16. COPY docker-entrypoint.sh /docker-entrypoint.sh
  17. RUN chmod +x /docker-entrypoint.sh
  18. ENTRYPOINT ["/docker-entrypoint.sh"]
  19. EXPOSE 8000 8443 8001 8444
  20. STOPSIGNAL SIGTERM
  21. CMD ["/usr/local/openresty/nginx/sbin/nginx", "-c", "/usr/local/kong/nginx.conf", "-p", "/usr/local/kong/"]
  22. ~

二、Tag后push到私有镜像仓库

  1. docker tag kong:0.12.1-alpine xx.xx.xx.xx:5000/kong:0.12.1-alpine
  2. docker push xx.xx.xx.xx:5000/kong:0.12.1-alpine

三、准备,并运行kong,

可参考:https://getkong.org/install/docker/?_ga=2.142464946.1094900129.1519568988-2071034501.1509695831

先运行postgres数据库

  1. docker run -d --name kong-database \
  2. -p 5432:5432 \
  3. -e "POSTGRES_USER=kong" \
  4. -e "POSTGRES_DB=kong" \
  5. postgres:9.4

迁移数据

  1. docker run --rm \
  2. --link kong-database:kong-database \
  3. -e "KONG_DATABASE=postgres" \
  4. -e "KONG_PG_HOST=kong-database" \
  5. -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
  6. kong:0.12.1-alpine kong migrations up

运行Kong

  1. docker run -d --name kong \
  2. --link kong-database:kong-database \
  3. -e "KONG_PG_HOST=kong-database" \
  4. -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
  5. -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
  6. -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
  7. -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
  8. -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
  9. -e "KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444" \
  10. -p 8000:8000 \
  11. -p 8443:8443 \
  12. -p 8001:8001 \
  13. -p 8444:8444 \
  14. Kong:0.12.1-alpine

运行kong dashboard

参考:https://github.com/PGBI/kong-dashboard

  1. docker run --name kong-dashboard -d -p 8084:8080 pgbi/kong-dashboard:v2

在docker中运行kong和kong dashboard的更多相关文章

  1. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  2. .NET Core Web 应用部署到 Docker 中运行

    环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...

  3. docker中运行ASP.NET Core Web API

    在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...

  4. 在Docker中运行torch版的neural style

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...

  5. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  6. 在Docker中运行EOS(MAC版)

    在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...

  7. 在docker中运行jenkins实现代码自动发布到测试服务器

    在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...

  8. 在Docker中运行纸壳CMS并配置使用MySql

    纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/ ...

  9. 在docker中运行elasticsearch时go程序无法连接到节点

    错误信息: panic: no active connection found: no Elasticsearch node available 在docker中运行es时,默认启动sniffing  ...

  10. 记一个在docker中运行多线程event_loop.run_forever()的bug

    问题简介 我写爬虫,用到了asyncio相关的事件循环,新建了一个线程去run_forever(),在docker中运行.后来程序有异常,主线程挂了,但是竟然不报错.查了很久,才找出来. 如果你新建一 ...

随机推荐

  1. QLabel 内容长度超过控件本身长度时超出的部分用省略号

    void JunEditableLabel::setText(const QString &string) { QFont font("Tahoma"); font.set ...

  2. iOS-----使用CFNetwork实现TCP协议的通信

    使用CFNetwork实现TCP协议的通信 TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个通信接口,从而在通信的两端之间形成网络虚拟链路.一旦建立了虚拟的网络链路,两端的程序就可以 ...

  3. PyTorch 数据集类 和 数据加载类 的一些尝试

    最近在学习PyTorch,  但是对里面的数据类和数据加载类比较迷糊,可能是封装的太好大部分情况下是不需要有什么自己的操作的,不过偶然遇到一些自己导入的数据时就会遇到一些问题,因此自己对此做了一些小实 ...

  4. CTF密码学之摩斯密码

    通过不用的排列顺序来表达不用的英文字母,数字和标点符号,摩斯电码由.和_构成 字母 字符 电码符号 字符 电码符号 A ._ N _. B _... O _ _ _ C _._. P ._ _. D ...

  5. DZY Loves Math系列

    link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...

  6. 【BZOJ2683】简单题

    cdq分治妙啊 (被改过题面的)原题: dydxh所出的题目是这样的:有一个N*N矩阵,给出一系列的修改和询问,修改是这样的:将(x,y)中的数字加上k,而询问是这样的:求(x1,y1)到(x2,y2 ...

  7. 【CQOI2008】中位数

    题不难,但是思路有意思,这个是我自己想出来的OvO 原题: 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b.中位数是指把所有元素从小到大排列后,位于中间的数. n<= ...

  8. test20181005 迷宫

    题意 分析 时间复杂度里的n,m写反了. 出题人很有举一反三的精神. 代码 我的代码常数巨大,加了各种优化后开O3最慢点都要0.9s. #include<cstdlib> #include ...

  9. Linux内核时间

    1. printk打印的时间戳 [ 7236.595796] usb 2-1.1: new high-speed USB device number 15 using ehci-platform st ...

  10. C语言运算符优先级和ASCII表

    1. C语言运算符优先级及结合性 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成 ...