Почему я получаю «curl: не найден» внутри моего контейнера node: alpine Docker?

#docker #docker-compose

#докер #docker-compose

Вопрос:

Мой api-server Dockerfile следующий

 FROM node:alpine

WORKDIR /src
COPY . .

RUN rm -rf /src/node_modules
RUN rm -rf /src/package-lock.json

RUN yarn install

CMD yarn start:dev
  

После docker-compose up -d

Я пытался

 $ docker exec -it api-server sh
/src # curl 'http://localhost:3000/'
sh: curl: not found
  

Почему команда curl не найдена?

Мой хост — Mac OS X.

Комментарии:

1. Как правило, изображения alpine не поставляются с curl

Ответ №1:

node:alpine изображение не поставляется curl . Вам нужно добавить инструкцию по установке в свой файл Dockerfile.

 RUN apk --no-cache add curl
  

Полный пример из вашего Dockerfile будет:

 FROM node:alpine

WORKDIR /src
COPY . .

RUN rm -rf /src/node_modules
RUN rm -rf /src/package-lock.json

RUN apk --no-cache add curl

RUN yarn install

CMD yarn start:dev