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