遇到的问题

编译失败

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

  1. yum groupinstall "Development Tools"

which is not found

这个问题是在 ./configure 时遇到的警告。
问题:which is not found

  1. yum install which

实战

worklist 的前端项目

dockerfile

  1. FROM centos:7
  2. MAINTAINER kougazhang
  3. WORKDIR /worklist
  4. ENV PATH="/worklist:/usr/bin:${PATH}"
  5. COPY ./node-v10.15.1 /worklist/node-v10.15.1/
  6. RUN yum group install -y "Development Tools" && yum install -y which
  7. RUN /worklist/node-v10.15.1/configure
  8. WORKDIR /worklist/node-v10.15.1
  9. RUN make && make install && npm install -g cnpm --registry=https://registry.npm.taobao.org
  10. COPY ./webapp /worklist/webapp/
  11. WORKDIR /worklist/webapp
  12. RUN cnpm install
  13. EXPOSE 22
  14. CMD cnpm run dev

这个镜像又出现 make: * [node] Error 2 的错误,所以最终我决定放弃,使用官方的镜像。直接使用官网的镜像,很快进行代码安装了,这个 feel 才让我感到了使用镜像的便利。
但是使用 cnpm 安装失败,我调试了一下,指明了 cnpm 的路径,然后就好了。

  1. FROM node:11.10
  2. MAINTAINER kougazhang
  3. WORKDIR /worklist
  4. ENV PATH="/worklist:/usr/bin:${PATH}"
  5. RUN npm install -g cnpm --registry=https://registry.npm.taobao.org
  6. COPY ./webapp /worklist/webapp/
  7. WORKDIR /worklist/webapp
  8. RUN /usr/local/bin/cnpm install
  9. EXPOSE 22
  10. CMD cnpm run dev