Alpine Linux
alpine
Alpine Linux Docker镜像基于Alpine Linux操作系统,后者是一个面向安全的轻型Linux发行版。不同于通常Linux发行版,Alpine Linux采用了musl libc和busybox以减小系统的体积和运行时资源消耗。在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk,可以在其网站上查询,或者直接通过apk命令查询和安装。
使用阿里镜像 https://mirrors.aliyun.com sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories 使用科大镜像 http://mirrors.ustc.edu.cn sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories 作者:helphi 链接:https://www.jianshu.com/p/791c91b7c2a4 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
官网:https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
apk search -v 'jdk'
apk update
apk add curl=7.55.0-r0
这里我们选择使用体积更小的 Linux 镜像,Alpine来进行同样功能的二维码服务的容器镜像。
因为 Alpine 和 Ubuntu 不是一个社区进行维护,所以软件包很多名称是不同的,这里我直接提供我已经查找修改完毕的镜像文件。
如果你也有类似的需求,需要将不同系统的软件进行迁移安装,可以在 https://pkgs.alpinelinux.org/packages 查找你所需要的软件包的名称。
============
尝试用apt-get install python-matplotlib 安装失败,于是改成用pip 安装
pip安装matplotlib :pip不能安装操作系统的依赖库导致的失败
===========
执行:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib ,
问题1
pip不能安装操作系统的依赖库导致的失败
解决:
apk search -v 'freetype' | grep devel
apk search -v 'png' | grep devel
手动安装:apk add freetype-dev
apk add libpng-dev
问题2:
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
导致问题的原因可能是因为没有安装 gcc 或者 g++,也可能是已安装的 gcc 和 g++ 版本不兼容 ,先解决方法如下:
首先检查 gcc 或者 g++ 是否已经安装,若未安装 sudo apt-get install gcc(g++)再用 gcc -v 和 g++ -v 分别检查 gcc 和 g++ 的版本号, 看版本号是否一致,若不一致,请安装同一个版本的gcc和g++。
解决:装了gcc,没装g++,所以安装即可:apk add g++
问题3:
安装提示解决即可
最后的Dockerfile是:
FROM ***/flask-restful RUN apk update &&\ apk add gcc freetype-dev libpng-dev g++ WORKDIR /usr/lib/python2.7/site-packages/ RUN mkdir -p matplotlib/backends/web_backend COPY jquery-ui-1.12.1.zip /tmp RUN unzip /tmp/jquery-ui-1.12.1.zip -d /usr/lib/python2.7/site-packages/matplotlib/backends/web_backend RUN rm -rf /tmp/jquery-ui-1.12.1.zip &&\ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip setuptools &&\ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib &&\ apk add ttf-dejavu &&\ rm -rf /var/cache/apk/* COPY msyh.ttf /usr/share/fonts/ttf-dejavu
==========使用root用户安装
FROM nx-goldwind.alauda.cn:5000/common/air_grpc:0.0.3 MAINTAINER zhangchunyang@goldwind.com.cn USER 0 RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip setuptools &&\ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymongo &&\ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas &&\ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy &&\ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn==0.19.1 USER airflow