Создание приложения Go в Docker: пример Dockerfile

Вот пример файла Dockerfile для создания приложения Go (Golang):

# Use an official Golang runtime as the base image
FROM golang:1.16-alpine
# Set the working directory inside the container
WORKDIR /app
# Copy the Go module files
COPY go.mod go.sum ./
# Download and install the Go dependencies
RUN go mod download
# Copy the source code into the container
COPY . .
# Build the Go application
RUN go build -o main .
# Set the entry point for the container
ENTRYPOINT ["./main"]

В этом примере мы используем официальный базовый образ Golang (golang:1.16-alpine) для сборки приложения. Вот шаги в Dockerfile:

  1. Установите рабочий каталог /app.
  2. Скопируйте файлы go.modи go.sumв контейнер, чтобы использовать механизм кэширования Docker.
  3. Загрузите и установите зависимости Go с помощью команды go mod download.
  4. Скопируйте весь исходный код в контейнер.
  5. Создайте приложение Go с помощью команды go buildи выведите исполняемый файл с именем main.
  6. Установите точку входа в контейнер для запуска исполняемого файла main.