docker 搭建 kong 过程

1、docker 的安装

# 更新系统包到最新。
sudo yum -y update
 
# 执行Docker安装脚本
sudo curl -sSL https://get.docker.com/ | sh
sudo yum install -y docker-selinux
 
# 启动Docker
sudo systemctl start docker.service
  
# 创建 docker 组
useradd -g docker docker
 
# 创建docker用户组
sudo usermod -aG docker $USER
 
# 验证docker已经正常安装
docker run hello-world

2、postgres docker 安装

docker run -d --name kong-database \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-v /home/work/data/postgres:/var/lib/postgresql/data \   #建立数据卷 linux 目录:/home/work/data/postgres, docker 容器对应的路径 /var/lib/postgresql/data
postgres:9.4

3、kong 初始化 postgres 表

docker run -it --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations up

4、启动 kong

docker run -d --name kong \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-v /home/work/var/logs/kong:/var/log \  # 将 kong 的日志映射到本地环境
-p 8000:8000 \                  # 前者为 linux 机器本身端口,后者为 docker 端口,linux:docker
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest

5、对应的 docker 容器信息

[work@esmaster01 data]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kong                latest              604ef970973d        3 days ago          313MB
postgres            9.4                 8b895ad85dc5        5 days ago          263MB
hello-world         latest              05a3bd381fc2        5 days ago          1.84kB

6、不采用 -- link 通信

docker run -d --name kong\
 -e "KONG_DATABASE=postgres" \
 -e "KONG_PG_HOST=192.168.200.11" \
 -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
 -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
 -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
 -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
 -p 8888:8000 \
 -p 8445:8443 \
 -p 8889:8001 \
 -p 8446:8444 \
 kong:latest

这样能够起到将数据库进行分离,进行冷热备,达到 kong 集群公用一个数据库的效果。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,728评论 0 120
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,954评论 0 7
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,828评论 15 147
  • 2010年,我说了分开,没有删除ta的QQ,放在一个人数众多的分组里,告诉自己,等到有一天,自己足够强大,足够牛X...
    uuuuu小怪兽阅读 339评论 0 0
  • 记得有一次,在饭桌上,一位企业家朋友(我们就化名叫他王总吧),说起企业出现的种种问题,焦头烂额。 我询问了一下,他...
    股权石榴社阅读 338评论 0 2

友情链接更多精彩内容