Запускаю код на Go в докере
docker-compose.yml
version: '3.4'
services:
app:
image: appName
container_name: appName
restart: on-failure
build:
context: .
dockerfile: Dockerfile
ports:
- ${HTTP_PORT}:${HTTP_PORT}
env_file:
- .env
Dockerfile
FROM golang:1.18-alpine3.14 AS builder
RUN go version
WORKDIR /root/appName
COPY . .
RUN go mod download
RUN GOOS=linux go build -o ./.bin/app .
WORKDIR /root/appName/.bin
ARG HTTP_PORT
EXPOSE $HTTP_PORT
CMD ["./app"]
Почему-то
CMD ["./app"]
ругается на отсутствие файла app, хотя команда ls его показывает
Как мне решить проблему?
UPD: Если скомпилировать программу в папку .bin, прописать в volumes: .bin/:/root/appName/.bin/ , а затем запустить докер, то работает