контейнер продолжает выходить сразу после запуска - PullRequest
0 голосов
/ 18 ноября 2018

докер-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 ничего не показывает

1 Ответ

0 голосов
/ 18 ноября 2018
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"], чтобы вы могли передавать аргументы для перехода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...