遇到的问题
编译失败
makefile 缺失
问题:linux make: * No targets specified and no makefile found. Stop.
解决:
./configure 会生成 makefile 文件,当前路径下没有 makefile 时就会失败。所以只要把 WORKDIR 指定为有 makefile 的路径就好了。
make not found
问题:/bin/sh: make: command not found
yum groupinstall "Development Tools"
which is not found
这个问题是在 ./configure 时遇到的警告。
问题:which is not found
yum install which
实战
worklist 的前端项目
dockerfile
FROM centos:7
MAINTAINER kougazhang
WORKDIR /worklist
ENV PATH="/worklist:/usr/bin:${PATH}"
COPY ./node-v10.15.1 /worklist/node-v10.15.1/
RUN yum group install -y "Development Tools" && yum install -y which
RUN /worklist/node-v10.15.1/configure
WORKDIR /worklist/node-v10.15.1
RUN make && make install && npm install -g cnpm --registry=https://registry.npm.taobao.org
COPY ./webapp /worklist/webapp/
WORKDIR /worklist/webapp
RUN cnpm install
EXPOSE 22
CMD cnpm run dev
这个镜像又出现 make: * [node] Error 2 的错误,所以最终我决定放弃,使用官方的镜像。直接使用官网的镜像,很快进行代码安装了,这个 feel 才让我感到了使用镜像的便利。
但是使用 cnpm 安装失败,我调试了一下,指明了 cnpm 的路径,然后就好了。
FROM node:11.10
MAINTAINER kougazhang
WORKDIR /worklist
ENV PATH="/worklist:/usr/bin:${PATH}"
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org
COPY ./webapp /worklist/webapp/
WORKDIR /worklist/webapp
RUN /usr/local/bin/cnpm install
EXPOSE 22
CMD cnpm run dev