- 编辑docker-compse.yml文件
vim docker-compose.yml
- 粘贴以下内容至文件
version: "3.8"
networks:
kong-net:
driver: bridge
services:
kong-database:
image: postgres:9.6
restart: always
networks:
- kong-net
environment:
POSTGRES_USER: root
POSTGRES_DB: kong
POSTGRES_PASSWORD: 123456
TZ: Asia/Shanghai
ports:
- "5432:5432"
healthcheck:
test: ["CMD", "pg_isready", "-U", "kong"]
interval: 5s
timeout: 5s
retries: 5
kong-migration:
image: kong:2.4.1
command: "kong migrations bootstrap"
networks:
- kong-net
restart: on-failure
environment:
KONG_PG_HOST: kong-database
KONG_DATABASE: postgres
KONG_PG_USER: root
KONG_PG_PASSWORD: 123456
links:
- kong-database
depends_on:
- kong-database
kong:
image: kong:2.4.1
restart: always
networks:
- kong-net
environment:
KONG_PG_HOST: kong-database
KONG_DATABASE: postgres
KONG_PG_USER: root
KONG_PG_PASSWORD: 123456
KONG_CASSANDRA_CONTACT_POINTS: kong-database
KONG_PROXY_LISTEN: 0.0.0.0:8000
KONG_PROXY_LISTEN_SSL: 0.0.0.0:8443
KONG_ADMIN_LISTEN: 0.0.0.0:8001
TZ: Asia/Shanghai
depends_on:
- kong-migration
- kong-database
healthcheck:
test: ["CMD", "curl", "-f", "http://kong:8001"]
interval: 5s
timeout: 2s
retries: 15
ports:
- "8001:8001"
- "8000:8000"
- "8443:8443"
- "8444:8444"
monga-prepare:
image: pantsel/konga
command: "-c prepare -a postgres -u postgresql://root:123456@kong-database:5432/konga"
networks:
- kong-net
restart: on-failure
links:
- kong-database
depends_on:
- kong-database
konga:
image: pantsel/konga
restart: always
networks:
- kong-net
environment:
DB_ADAPTER: postgres
DB_URI: postgres://root:123456@kong-database:5432/konga
NODE_ENV: production
TZ: Asia/Shanghai
depends_on:
- kong-database
ports:
- "1337:1337"
- 创建启动脚本
vim start.sh
- 粘贴以下内容至文件
usage() {
echo "Usage: sh 执行脚本.sh [init|start|stop|rm]"
exit 1
}
init(){
docker-compose up -d
}
start(){
docker-compose up -d kong-database kong konga
}
stop(){
docker-compose stop
}
rm(){
docker-compose rm
}
case "$1" in
"init")
init
;;
"start")
start
;;
"stop")
stop
;;
"rm")
rm
;;
*)
usage
;;
esac
- 授权
chmod +x start.sh
- 操作相关命令
./start.sh init
./start.sh stop
./start.sh rm
./start.sh start