腳本工具可以幫助我們完成一些需要重覆勞動的工作; 基礎語法: "#"為註釋符號 1:#指定腳本運行環境為 /bin/bash #! /bin/bash 2:輸入參數,xxx為變數名,多個變數名用空格隔開read xxx 輸出參數echo xxx 3: 變數和運算符的定義:這是每個編程語言必不缺少的部 ...
軟體版本:
-
Postgresql:9.6 (不使用最新版,是因為 konga 不支持)
-
Kong:3.4.2
-
konga:0.14.7 (UI管理界面)
### Postgresql部署
## docker-compose.yml
version: '3' services: postgres: image: postgres:9.6 container_name: postgres_9.6 volumes: - /home/kong/konga_test_ctw/postgres9.6_data:/var/lib/postgresql/data environment: POSTGRES_USER: root #在此填寫postgres的用戶名 POSTGRES_DB: postgres #在此填寫postgres的資料庫名,預設是postgres POSTGRES_PASSWORD: qweqweasdASD #在此填寫posgres的資料庫密碼 ports: - "5432:5432"
運行後需要創建用戶,分別提供給kong、konga兩個連接
進入容器:
psql -U root -d postgres CREATE USER kong WITH PASSWORD 'kong'; CREATE DATABASE kong OWNER kong; CREATE USER konga WITH PASSWORD 'konga'; CREATE DATABASE konga OWNER konga;
### kong3.4.2部署 (https://docs.konghq.com/gateway/3.4.x/install/linux/rhel/)
一、安裝kong
yum install -y ./kong-3.4.2.rpm
/etc/kong/可以看到kong.conf.default配置文件模板
cp kong.conf.default kong.conf
vim kong.conf
admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384 nginx_http_include = /etc/kong/nginx/*.kong.conf database = postgres #使用 PostgreSQL 作為資料庫 pg_host = 127.0.0.1 # 資料庫Ip pg_port = 5432 # 資料庫埠 pg_timeout = 5000 # 資料庫Timeout 時間 pg_user = kong # 登錄用戶. pg_password = kong # 登錄用戶密碼 pg_database = kong # 連接的資料庫名稱 proxy_listen = 0.0.0.0:80 reuseport backlog=16384, 0.0.0.0:443 http2 ssl reuseport backlog=16384
二、初始化
kong migrations bootstrap -c /etc/kong/kong.conf
三、啟動
kong start -c /etc/kong/kong.conf
四、驗證
curl -i http://localhost:8001
### konga管理後臺
一、初始化資料庫
docker run --rm --link postgres_9.6:postgresql --net kong_default pantsel/konga:0.14.7 -c prepare -a postgres -u postgres://konga:[email protected]:5432/konga
解析
--net postgresql-9-6_default :將當前啟動容器加入到postgresql的docker網路中,註:容器網路查看命令docker inspect postgres_9.6,如下圖就是容器當前的網路名稱: --link postgres_9.6:postgresql :將當前啟動容器連接到指定容器,--link 連接容器名稱:別名 -c prepare -a postgres:必帶,初始化資料庫參數 -u postgres://konga:kongapassword@postgresql:5432/konga:資料庫連接信息 postgres://資料庫用戶名稱:用戶密碼@[Ip或 容器名稱]:埠號/資料庫名
二、啟動konga
docker run -d -p 1337:1337 -e "DB_ADAPTER=postgres" -e "DB_HOST=192.168.0.95" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=konga" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga:0.14.7
三、驗證
http://192.168.0.95:1337
總結優化容器寫法
vim docker-compose.yml version: '3' services: postgres: image: postgres:9.6 container_name: postgres_9.6 restart: always volumes: - /home/n8n8/kong/postgres9.6_data:/var/lib/postgresql/data environment: POSTGRES_USER: root #在此填寫postgres的用戶名 POSTGRES_DB: postgres #在此填寫postgres的資料庫名,預設是postgres POSTGRES_PASSWORD: qweqweasdASD #在此填寫posgres的資料庫密碼 ports: - "5432:5432" konga: image: pantsel/konga:0.14.7 container_name: konga environment: - DB_ADAPTER=postgres - DB_HOST=192.168.0.95 - DB_PORT=5432 - DB_USER=konga - DB_PASSWORD=konga - DB_DATABASE=konga - NODE_ENV=production ports: - "1337:1337" restart: always