LittleBuster
@LittleBuster

Зависает Golang приложение при старте на Docker?

Все успешно собирается, однако при запуске приложение просто повисает не выводя ничего в консоль, что может быть?

FROM golang:1.11.9-alpine

RUN apk update && apk upgrade && \
    apk add --no-cache bash git

RUN mkdir -p /go/src/app

WORKDIR /go/src/app

COPY . /go/src/app

RUN mkdir -p /etc/futcamp/
RUN mkdir -p /var/log/futcamp/
COPY ./router.conf /etc/futcamp/

RUN go get

RUN go install

CMD ["app"]

EXPOSE 8080
  • Вопрос задан
  • 235 просмотров
Решения вопроса 1
Запускаете контейнер, из второй консоли docker exec -it <containername> sh
И начинаете ковыряться в нем. В частности, попробуйте аналогичным способом, вызвав app попытаться запустить приложение. Возможно, не установлен флаг исполняемого файла или запускать нужно так: ./app

Замечания по докерфайлу:
  • WORKDIR создаёт указанный в нем каталог. Нет необходимости вызывать mkdir
  • После смены рабочего каталога можно выполнить копирование COPY . .
  • Команды RUN по возможности нужно слепить, напр: RUN go get && go install Так вы сократит число слоев в вашем имейдже
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы