package main
import (
"fmt"
"net/http"
"os"
)
func main() {
http.HandleFunc("/", home)
http.ListenAndServe(":80", nil)
}
func home(w http.ResponseWriter, r *http.Request) {
//fmt.Fprintf(w, "golang")
name, err := os.Hostname()
if err != nil {
panic(err)
}
fmt.Fprintf(w, name)
}
编译
go build -o hostx tets.go
//才5.9M很迷你
[root@dockser ~]# ls -lh hostx
-rwxr-xr-x 1 root root 5.9M 12月 6 01:36 hostx
准备dockerfile
FROM alpine:latest
ENV TZ='Asia/Shanghai'
ENV TIMEZONE Asia/Shanghai
RUN mkdir /lib64 && \
ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
WORKDIR /data
ADD hostx /data/hostx
EXPOSE 80
CMD ["./hostx"]
运行docker
docker run --rm -p 80:80 hostx:v01
[root@dockser ~]# curl -I 192.168.8.249
HTTP/1.1 200 OK
Date: Sun, 05 Dec 2021 17:53:47 GMT
Content-Length: 12
Content-Type: text/plain; charset=utf-8
[root@dockser ~]# curl 192.168.8.249
1e8ad7e4ea87