内网环境centos7使用docker安装kong

该博客介绍了在没有互联网连接的内网环境中,如何手动下载Docker、Kong及PostgreSQL的镜像包,然后上传到内网服务器进行安装。首先,下载并安装Docker,创建服务文件并启动。接着,导入Kong和PostgreSQL的镜像文件,并创建自定义Docker网络。然后,启动PostgreSQL容器,准备Kong数据库,最后启动Kong Gateway容器。整个过程遵循Kong官方文档进行,确保了服务的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载好docker包、kong镜像包、postgresql镜像包

查看系统发行版本:cat /etc/redhat-release
在这里插入图片描述
查看系统架构:uname -a
在这里插入图片描述

下载docker离线安装包: https://download.docker.com/linux/static/stable/x86_64/
在有网环境下载kong 的docker 镜像 可以先搜索相关镜像 docker search kong

docker pull kong

下载postgresql 的docker 镜像 用示例9.6最好

docker pull postgres:9.6

将这两个镜像打包 -o 指定到文件

docker save -o /downloads/docker_images/postgres.tar postgres:9.6
docker save -o /downloads/docker_images/kong.tar kong

上传 内网安装docker

将docker-20.10.9.tgz postgres.tar kong.tar 上传至内网服务器

安装docker

tar -zvxf docker-20.10.9.tgz
cp docker/* /usr/bin

创建服务文件

vi /usr/lib/systemd/system/docker.service

具体内容如下

[unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

赋予文件权限

chmod -R 755 /usr/lib/systemd/system/docker.service

重新加载systemctl 配置文件

systemctl daemon-reload

启动docker

systemctl start docker

查看docker运行状态

systemctl status docker

设置开机启动

systemctl enable docker

安装kong 和 postgresql

导入镜像文件

docker load -i /downloads/docker_images/kong.tar
docker load -i /downloads/docker_images/postgres.tar

然后就是根据官方文档操作:https://docs.konghq.com/gateway/2.7.x/install-and-run/docker/
创建一个自定义 Docker 网络以允许容器相互发现和通信:

 docker network create kong-net

启动一个 PostgreSQL 容器:

docker run -d --name postgres \
  --network=kong-net \
  -p 5432:5432 \
  -e "POSTGRES_USER=kong" \
  -e "POSTGRES_DB=kong" \
  -e "POSTGRES_PASSWORD=kong" \
  postgres:9.6

准备Kong数据库:

docker run --rm --network=kong-net \
  -e "KONG_DATABASE=postgres" \
  -e "KONG_PG_HOST=postgres" \
  -e "KONG_PG_PASSWORD=kong" \
 kong kong migrations bootstrap

运行以下命令以使用 Kong Gateway 启动容器:

docker run -d --name kong-gateway \
  --network=kong-net \
  -e "KONG_DATABASE=postgres" \
  -e "KONG_PG_HOST=postgres" \
  -e "KONG_PG_USER=kong" \
  -e "KONG_PG_PASSWORD=kong" \
  -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" \
  -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
  -e "KONG_ADMIN_GUI_URL=http://localhost:8002" \
  -p 8000:8000 \
  -p 8443:8443 \
  -p 8001:8001 \
  -p 8444:8444 \
  -p 8002:8002 \
  -p 8445:8445 \
  -p 8003:8003 \
  -p 8004:8004 \
  kong

测试: curl -i -X GET --url http://localhost:8001/services
在这里插入图片描述

进入容器看看

查看现有镜像(-a 包含未启动的)

docker ps -a

进入容器

docker exec -it 2806ff4c82c2 bash

容器内使用 systemctl 命令

/bin/systemctl  或 service 

由于docker 的端口是通过防火墙转发的请不要关闭防火墙,不然容器内部无法访问外部网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值