无法在Docker中构建Golang应用

时间:2018-08-22 12:28:24

标签: docker go docker-compose

我使用示例示例制作了一个golang应用程序,但是当我设置docker进行构建并运行它时,构建失败并给出错误

ERROR: for goserver  Cannot start service goserver: b'OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \\"./app\\": stat ./app: no such file or directory": unknown'

我的Dockerfile是

FROM golang:1.8
WORKDIR /usr/src/app
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o ./app .
ENTRYPOINT ["./app"]

我的docker-compose是

version: '2'

volumes:
 app_nm:
 driver: local

services:
 goserver:
  container_name: "goserver"
  image: "mygoserver"
  build:
   context: ./First
   dockerfile: Dockerfile
  volumes:
   - ./First:/usr/src/app
  ports:
   - 8081:8080
  tty: true

我尝试通过设置tty:true并通过build命令通过docker exec登录到容器,它运行良好。可能是什么问题?

1 个答案:

答案 0 :(得分:0)

在我看来,您正在将工作目录设置为/ usr / src / app,但是随后您正在运行go build ./app。尝试将./app更改为。