docker-compose.yaml:
web:
build: .
command: ./main
ports:
- "8888:3412"
volumes:
- .:/code
links:
- redis
redis:
image: redis
Dockerfile:
FROM golang:1.6
ADD main.go .
EXPOSE 3412
ENTRYPOINT /go
RUN go build main.go
因此,在运行docker run -d imagename
之后,没有运行中的容器
docker logs containername
也不显示任何内容
答案 0 :(得分:0)
ENTRYPOINT /go
等同于运行/bin/sh -c /go
go
实际上是您容器中的目录,因此它将失败,因为shell无法执行目录。
删除背景标记-d
并使用docker run imagename
,您将看到此错误
您可能想要的是:
ENTRYPOINT /usr/local/go/bin/go
可以将go用作容器中的可执行文件。
甚至更好:
ENTRYPOINT ["/usr/local/go/bin/go"]
,因此您可以传递参数。