Запуск Golang в Docker Compose

docker-compose.yml

version: '3.9'

services:

  golang:
    build: ./build
    container_name: golang
    restart: always
    # stdin_open: true # docker run -i
    tty: true        # docker run -t
    volumes:
      - ./build/source:/go/tmp/src

Файл располагается в корневом каталоге.

Dockerfile

# Базовый образ
FROM golang:1.14.4-buster
# Папка приложения
ARG APP_DIR=app
# Копирование файлов
COPY . /go/tmp/src/${APP_NAME}
# Рабочая директория
WORKDIR /go/tmp/src/${APP_NAME}
# Библиотеки
# RUN go get <путь_к_библиотеке>
# RUN go get github.com/streadway/amqp

Файл располагается в ./build

hello.go

package main

func main() {
	println("Hello, World!")
}

Файл располагается в ./ServiceGo/source

Выполнить сборку контейнера и запустить можно при помощи команды:

docker-compose up --build -d

Отформатировать файл:

docker-compose exec golang gofmt hello.go

Запустить приложение:

docker-compose exec golang go run hello.go

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *