I trying run my Golang-app in development mode from Docker
Dockerfile
FROM golang
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN go get -d -v .
RUN go build -o main .
CMD ["./main"]
docker-compose.yml
version: "3.3"
services:
database:
image: postgres
volumes:
- ./tmp/db:/var/lib/postgresql/data
ports:
- 6060:5432
api:
build: ./demoapp-api
volumes:
- ./demoapp-api:/usr/src/app
ports:
- 5000:5000
depends_on:
- database
File structure looks like this:
When I start build I get this error (full log):
Recreating f97ae865ad6d_demoapp_api_1_6f198d4b1db4 ... error
ERROR: for f97ae865ad6d_demoapp_api_1_6f198d4b1db4 Cannot start service api: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"./main\": stat ./main: no such file or directory": unknown
ERROR: for api Cannot start service api: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"./main\": stat ./main:no such file or directory": unknown
ERROR: Encountered errors while bringing up the project.
Inside the container file ./main
exists
MBP-Pavel:demoapp pavel$ docker run --rm -it 4ae6ff9cf413 sh
# pwd
/usr/src/app
# ls
Dockerfile main main.go
#
If delete volumes
from api
service all is good, but I need to full rebuild my app (with downloading dependencies). What i'm doing wrong?