Compare commits
6 Commits
f252a4933f
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 59d64a724a | |||
| 16a56a1e0b | |||
| ba7c55d03a | |||
| 3f1e4942dd | |||
| d8bd807939 | |||
| a288e52eeb |
38
Dockerfile
38
Dockerfile
@@ -0,0 +1,38 @@
|
||||
# --- Этап 1: Сборка (Builder) ---
|
||||
FROM golang:1.24-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем файлы go.mod и go.sum для загрузки зависимостей
|
||||
# Копируем файлы go.mod и go.sum для загрузки зависимостей
|
||||
COPY go.mod go.sum ./
|
||||
ENV GOPROXY=direct
|
||||
RUN apk add --no-cache git
|
||||
RUN go mod download
|
||||
|
||||
# Копируем весь остальной исходный код
|
||||
COPY . .
|
||||
|
||||
# Собираем приложение. На этот раз точка входа - корень проекта.
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -o /app/ping-helper -ldflags="-w -s" .
|
||||
|
||||
# --- Этап 2: Финальный образ (Final) ---
|
||||
FROM alpine:latest
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем только скомпилированный бинарник из этапа сборки
|
||||
COPY --from=builder /app/ping-helper .
|
||||
|
||||
# Добавляем сертификаты
|
||||
RUN apk --no-cache add ca-certificates
|
||||
|
||||
# Запускаем от имени непривилегированного пользователя
|
||||
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
|
||||
USER appuser
|
||||
|
||||
# Указываем, что контейнер будет слушать порт 8081
|
||||
EXPOSE 8081
|
||||
|
||||
# Команда для запуска нашего приложения
|
||||
ENTRYPOINT ["/app/ping-helper"]
|
||||
|
||||
11
README.md
Normal file
11
README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Ping Helper (Go)
|
||||
|
||||
Это легковесный WebSocket-сервер на Go.
|
||||
|
||||
## Назначение
|
||||
|
||||
Реализует простой "эхо-протокол". Фронтенд отправляет на него метку времени, сервис немедленно возвращает ее обратно. Это позволяет измерить сетевую задержку (пинг) между браузером клиента и сервером.
|
||||
|
||||
## Запуск
|
||||
|
||||
Сервер запускается командой `go run main.go` и слушает порт `8081`.
|
||||
Reference in New Issue
Block a user