#docker #makefile #alpine
#docker #makefile #alpine-linux
Вопрос:
Я не могу начать make
работать в alpine make update_tools
works, когда запускаю его на своей OSX, но когда я запускаю его в alpine image, я получаю следующую ошибку: make: *** Нет правила для создания целевого ‘update_tools’. Остановка. Вот как теперь выглядит мой Dockerfile:
#Download base image Alpine-3.9 Golang 1.12
FROM golang:1.12-alpine3.9
# Set Working Directory is /usr/app
WORKDIR /usr/app
# Install Alpine Dependencies
RUN apk update amp;amp; apk upgrade amp;amp; apk add --update alpine-sdk amp;amp;
apk add --no-cache bash git openssh make cmake
COPY cosmos-sdk .
WORKDIR /usr/app/cosmos-sdk
RUN git checkout v0.33.0 amp;amp;
make update_tools amp;amp;
make vendor-deps amp;amp;
make install amp;amp;
gaiad init $(whoami) amp;amp;
rm .gaiad/config/genesis.json amp;amp;
curl https://raw.githubusercontent.com/cosmos/launch/master/genesis.json > $HOME/.gaiad/config/genesis.json
#Add persistent peer to config.toml file
RUN sed -i '' 's/persistent_peers = ""/persistent_peers = "89e4b72625c0a13d6f62e3cd9d40bfc444cbfa77@34.65.6.52:26656"/' $HOME/.gaiad/config/config.toml
#Start gaid daemon and set logging to info
CMD ["gaiad start --log_level="*:info""]
# Expose the ports
EXPOSE 26656 26657
Makefile:https://github.com/cosmos/cosmos-sdk/blob/develop/Makefile
Я был бы признателен за любые указания по этому
Комментарии:
1. Можете ли вы опубликовать свой Makefile?
2. Поделился @michalhosna
Ответ №1:
У меня возникла эта проблема.
Похоже, что-то из самого golang-alpine image.
** — Решение — **
просто установите make в свой образ следующим образом:
apk add --no-cache make
Ответ №2:
Прямое клонирование и проверка версии 0.33.0 не имеют упомянутой проблемы. Похоже, проблема с git checkout v0.33.0
командой. Возможно, у вас есть незафиксированные изменения. Пожалуйста, проверьте / предоставьте docker build
выходные данные.
Ответ №3:
возникла аналогичная проблема, убедитесь, что ваш Makefile добавлен в образ docker, мой Makefile был добавлен в файл .dockerignore, поэтому его не было в изображении docker, и я получил аналогичное сообщение об ошибке