Остановите работающий Docker-контейнер, отправив SIGTERM

У меня очень простое приложение Go, прослушивающее порт 8080

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(200)
    w.Header().Set("Content-Type", "text-plain")
    w.Write([]byte("Hello World!"))
})
log.Fatal(http.ListenAndServe(":8080", http.DefaultServeMux))

Я устанавливаю его в контейнер Docker и запускаю так:

FROM golang:alpine
ADD . /go/src/github.com/myuser/myapp
RUN go install github.com/myuser/myapp
ENTRYPOINT ["/go/bin/myapp"]
EXPOSE 8080

Затем я запускаю контейнер, используяdocker run:

docker run --publish 8080:8080 first-app

Я ожидаю, что, как и большинство программ, я могу отправить SIGTERM запущенному процессуdocker run и это заставит контейнер перестать работать. Я заметил, что отправка SIGTERM не имеет никакого эффекта, и вместо этого мне нужно использовать такую ​​команду, какdocker kill или жеdocker stop.

Это намеренное поведение? Я спросилна форумах и на IRC так и не получил ответа.

Ответы на вопрос(2)

Ваш ответ на вопрос