# demoapp **Repository Path**: kuma18/demoapp ## Basic Information - **Project Name**: demoapp - **Description**: 简单http server示例,用于kubernetes中网络是否正常的测试 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-15 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # demoapp ## 项目简介 功能参考: [ikubernetes/demoapp](https://hub.docker.com/r/ikubernetes/demoapp/tags),但是这个镜像不支持arm64,因此使用Golang写了个功能更简单的示例,下面给出了构建成arm64架构的镜像方式。 demoapp 是一个用 Go 语言编写的简单 HTTP 服务示例,主要用于演示如何获取客户端 IP、服务器主机名和服务器 IP,并将这些信息返回给客户端。适合用于容器化、自动化测试、网络环境验证等场景。 ## 功能说明 - 监听 80 端口,响应 HTTP 请求 - 返回客户端 IP、服务器主机名、服务器 IP - 日志输出采用 zerolog ## 依赖 - Go 1.19 及以上 - github.com/rs/zerolog v1.32.0 依赖管理使用 go mod,首次拉取代码后可执行: ```sh go mod tidy ``` ## 构建成二进制包 ```sh #x86架构 GOARCH=amd64 GOOS=linux go build -o docker/demoapp-amd64 main.go #arm64架构 GOARCH=arm64 GOOS=linux go build -o docker/demoapp-arm64 main.go ``` ## Docker 镜像构建与推送 可使用脚本自动构建并推送镜像: ```sh cd docker bash build.sh amd64 # 构建并推送 amd64 镜像 bash build.sh arm64 # 构建并推送 arm64 镜像 ``` 手动构建镜像命令示例: ```sh docker build -t yourrepo/demoapp:latest . ``` ## 运行容器 ```sh docker run -d -p 8080:80 yourrepo/demoapp:latest ``` ## API 说明 - 访问根路径 `/`,返回如下格式内容: ``` lqb demoapp v1.0 !! ClientIP: <客户端IP>, ServerName: <主机名>, ServerIP: <服务器IP> ``` ## 目录结构 - main.go 主程序入口 - go.mod/go.sum 依赖管理 - docker/Dockerfile Docker 镜像构建文件 - docker/build.sh 镜像构建与推送脚本 ## License MIT