net icon indicating copy to clipboard operation
net copied to clipboard

http server not work

Open LugiaChang opened this issue 2 years ago • 1 comments

go code:

package main

import (
	"net/http"

	"github.com/stealthrocket/net/wasip1"
)

func main() {
	listener, err := wasip1.Listen("tcp", "127.0.0.1:3000")
	if err != nil {
		panic(err)
	}

	server := &http.Server{
		Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
			w.Write([]byte("Hello, World!"))
			w.WriteHeader(http.StatusOK)
		}),
	}

	if err := server.Serve(listener); err != nil {
		panic(err)
	}
}

dockerfile:

FROM scratch

COPY bin/test.wasm ./test.wasm

CMD ["/test.wasm"]

build:

GOOS=wasip1 GOARCH=wasm go build -o bin/test.wasm  cmd/test/main.go
docker build -t meyoulvcha/wasm-test:v1.0 -f ./build/test/Dockerfile --platform=wasi/wasm .
docker push meyoulvcha/wasm-test:v1.0

docker run:

docker pull meyoulvcha/wasm-test:v1.0
docker run --rm --network host --name=wasm-test --runtime=io.containerd.wasmedge.v1 --platform=wasi/wasm meyoulvcha/wasm-test:v1.0

It is not listening 3000 port: image

I dont know whats wrong. Can someone help me?

LugiaChang avatar Oct 07 '23 05:10 LugiaChang

expose 3000 should do the trick in your Docker setup

anthdm avatar Dec 24 '23 10:12 anthdm