一、docker安装nginx
1. 外网直接拉取,拉取后跳转至第三步
docker pull nginx:1.23.3
2. 内网
(1)找一个外网电脑拉取镜像
docker pull nginx
(2)将镜像打包为tar包
docker save -o nginx-1.23.3.tar nginx:1.23.3
(3)利用工具上传内网服务器并载入内网docker
docker load -i nginx-1.23.3.tar
3. 创建挂载目录
mkdir -p /home/docker/volumes/nginx/{log,conf}
touch /home/docker/volumes/nginx/conf/nginx.conf
chmod 777 /home/docker/volumes/nginx/conf/nginx.conf
4. 启动nginx
docker run -d -p 9080:80 --name nginx -v /home/docker/volumes/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/docker/volumes/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/docker/volumes/nginx/html:/usr/share/nginx/html -v /home/docker/volumes/nginx/log:/var/log/nginx -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 --privileged=true --restart=always nginx
二、docker安装kong
1. 获取镜像(采用pgsql作为数据存储)
docker pull postgres:9.6
docker pull kong
2. 创建kong容器网络
docker network create kong-net
3. 启动pgsql作为kong的数据库
docker run -d --name pgsql --network=kong-net --privileged=true -p 5432:5432 -v /home/docker/volumes/kong/db:/var/lib/postgresql/data -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=12345" postgres:9.6
4. 测试pgsql连接
5. 初始化数据库
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=pgsql " \
-e "KONG_PG_PASSWORD=12345 " \
kong kong migrations bootstrap
- KONG_DATABASE: Specifies the type of database that Kong is using.
6. 启动kong容器
docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=pgsql" \
-e "KONG_PG_PASSWORD=12345" \
-e "KONG_CASSANDRA_CONTACT_POINTS= pgsql" \
-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:8445, 0.0.0.0:8444 ssl" \
-p 8442:8442 \
-p 8443:8443 \
-p 8445:8445 \
-p 8444:8444 \
kong
8442、8443:用于接收客户端的http请求,并转发至upstream
8445:http监听的API管理接口
8444:https监听的API管理接口
KONG_DATABASE:kong所选数据库类型
三、 docker安装konga
1. docker pull pantsel/konga
2. 新建konga pgsql数据库
docker run -d --name pgsql-konga --network=kong-net --privileged=true -p 5433:5432 -v /home/docker/volumes/konga/db:/var/lib/postgresql/data -e "POSTGRES_USER=konga" -e "POSTGRES_DB=konga" -e "POSTGRES_PASSWORD=12345" postgres:9.6
3. 初始化konga数据库
docker run --rm --network=kong-net pantsel/konga -c prepare -a postgres -u postgres://konga:12345@pgsql-konga:5432/konga
报错解决:
pgsql必须9.6版本
4. 启动konga
docker run -d --net=kong-net -p 1337:1337 \
-e "DB_ADAPTER=postgres" \
-e "DB_HOST=pgsql-konga" \
-e "DB_PORT=5432" \
-e "DB_USER=konga" \
-e "DB_PASSWORD=12345" \
-e "DB_DATABASE=konga" \
-e "NODE_ENV=production" \
--name konga \
pantsel/konga
5. 注册konga用户
6. 进入konga界面
存在四种创建连接的方式
采用默认方式进行创建
Active激活连接进入dashboard界面