无法在Alpine镜像中使用make命令

4

我无法在alpine中使用make命令。

当我在我的OSX系统上运行make update_tools时可以正常工作,但是当我在alpine镜像中运行它时,出现以下错误:

make: *** No rule to make target 'update_tools'. Stop.

这是目前我的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 && apk upgrade && apk add --update alpine-sdk && \
    apk add --no-cache bash git openssh make cmake 

COPY cosmos-sdk .

WORKDIR /usr/app/cosmos-sdk

RUN git checkout v0.33.0 && \
    make update_tools && \ 
    make vendor-deps && \ 
    make install && \
    gaiad init $(whoami) && \
    rm .gaiad/config/genesis.json && \
    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吗? - michalhosna
共享 @michalhosna - 0xsegfault
3个回答

7

我正在遇到这个问题。

看起来是来自golang-alpine镜像本身的问题。

** --- 解决方案 --- **

只需按以下方式在您的镜像中安装make:

apk add --no-cache make


-1

我曾经遇到过类似的问题,确保你的Makefile已经被添加到了Docker镜像中。我的Makefile曾经被添加到了.dockerignore文件中,因此它并没有出现在Docker镜像中,导致我得到了类似的错误信息。


-1

直接克隆和检出v0.33.0版本没有提到的问题。这似乎是由git checkout v0.33.0命令引起的问题。可能您有未提交的更改。请检查/提供docker build输出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接